很久没写代码了,鬼迷心窍用python写,有点小麻烦,部署、favicon映射、静态文件读取等问题,其实这个东西写起来很简单。
最近看到以前hostloc论坛一个用户的小项目,文件柜(上传、下载文件),地址:http://st.luoli.pub/,正好有时间,在征得原作者同意的情况下,直接用了原作者的前端页面,我自己把后端重写了一下。
![Windows环境部署flask生产环境 Windows环境部署flask生产环境]()
原作者页面
![Windows环境部署flask生产环境 Windows环境部署flask生产环境]()
加了备案号
原作者的后端是PHP,使用了关系数据库MySQL,几个传参的地方过滤不严,导致SQL注入产生。
重写前我认为这个项目完全不需要关系数据库,所以选用了Redis,语言使用了Python,web框架为flask,Django也可以,但是之前部署Django遇到一些问题,懒得解决,直接用了flask。
因为我不想配nginx,所以直接在系统上用python app.py的方式启动,启动后报警告:WARNING: This is a development server. Do not use it in a production deployment.
![Windows环境部署flask生产环境 Windows环境部署flask生产环境]()
开发模式警告
后来查了一下原因,flask自带一个web服务器,但是只是供开发使用,生产环境需要用其他的,比如网上都说使用uwsgi,可惜的是uwsgi不支持windows,如果非要使用自带的web服务器不是不行,就是有一些问题,诸如:运行一段时间无响应、高并发无响应等。
昨天部署服务器测试的时候发现三个人或两个人访问都会导致服务端无响应,CPU、内存都是正常的,但是启动flask的cmd窗口没有任何反应,没有日志打印,Ctrl+C也无法停止,猜测可能是这个问题,但是已经晚上了,我也不想切到linux,就去查解决方案,后来在水木社区找到一篇文章:【用flask做网站服务器经常死机,求问为啥?】。原文地址:https://exp.newsmth.net/topic/0fab09918ec6450e32c536e2c0f5e3ee/3,文中楼主提到自己使用的flask框架开发了一个web程序,但是会莫名其妙假死,跟我遇到的一样,都是建议楼主使用uwsgi或uvicorn或gunicorn,但是这几个都是只支持linux不支持windows的,其中有一个网友提议使用waitress,这个是支持windows的。
正是凌晨一两点,我赶紧远程到服务器上,安装waitress很简单,使用pip就可以:pip install waitress
![Windows环境部署flask生产环境 Windows环境部署flask生产环境]()
pip install waitress
waitress-serve --port=端口 app:入口文件名.主方法
![Windows环境部署flask生产环境 Windows环境部署flask生产环境]()
我的主方法就是main,直接省略了,启动后用17ce测了一下没问题,到今天一直正常,没有出现假死的情况,美中不足的是waitress不支持SSL,需要在前面部署一个nginx,官方也是这么说的,建议nginx+waitress+flask。
网上说的开启flask多线程和多进程的方法亲测都没用,在linux下我用了gunicorn也是没问题的,这个windows截止发文也是正常的。
linux下使用gunicorn:gunicorn -c 配置文件 入口文件名:app
![Windows环境部署flask生产环境 Windows环境部署flask生产环境]()
gunicorn.py是配置文件,自己写的,内容如下:
workers =4
bind ='0.0.0.0:80'
daemon =True
timeout = 300
accesslog ='/weblogs/acess.log'
errorlog ='/weblogs/error.log'
附windows+waitress+flask的测试地址:http://ft.fbi.pub:8090
原文始发于微信公众号(墨雪飘影):Windows环境部署flask生产环境
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/1110048.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论