flask项目部署及管理实战

最近老师让部署学校CTF攻防平台,平台是用Flask写的,结合着老师给的参考经验,耗费了大约一个星期终于上线了。这里为做第一次实战纪念,也是做经验总结,写下这篇博客。

背景:

校级CTF比赛,参数人数规模百人左右,web应用是我们自己写的,本人之前没有任何搭建实战项目的经验,可能有些地方做的不好,还用了很多笨方法,还请大佬们指正。

项目组件:Flask+mongoDB+redis

思路:

部署web应用到实战中,需要考虑的问题很多。抛开web应用的功能不说,我从压力处理、测试流程、应急、备份方面说下我的做法

-_-压力的处理:

本人开发狗一个,并不懂运维等知识,但是团队给的任务,硬着头皮也要刚,部署中我使用nginx 做负载均衡和反向代理,来处理压力的问题,nginx对新手很友好,由于没有那么多流量,我只需要把请求分发到各个web应用服务器上就可以了,不知道有没有更好的方法,但我用的方法在我们的实践中证明可行。

-_-测试:

测试的重要性就不必说了,web应用在搭建的过程中肯定会遇到各种各样的问题,需要有一个与真实情况相同的测试环境,但是不能影响真实环境中的数据。

我直接copy了一个MongoDB数据库,然后直接开了另外一个python应用,调用另外一个数据库的内容,也就是说参赛人数快固定的时候,我把整个数据库和python应用copy了一份,然后进行一次整体的测试,主站继续开放注册,测试环境不影响主站的功能。

-_-应急

所谓应急,就是在平台down掉的情况下快速恢复,在压力过大的情况下立既扩展服务器接受能力。nginx可以做到快速添加服务器,linux下supervisor可以时时监控进程信息,也支持自动重启等设置,很好用。所以我就用这个快速恢复平台。

-_-备份:

备份只和数据库有关,所以这里写的就是关于数据库的备份,恢复了。MongoDB自带 mongodumpmongorestore,基础的用法我就不说了,简单讲讲认证的事情吧,因为数据库在实战中肯定是要设置认证的,但是网上大多关于这些的都没有写关于认证的情况怎么使用,所以我就写我的导入导出

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值