使用uwsgi部署flask项目

uwsgi是一个用c语言编写的高性能web服务器,在部署一般的web项目时,是一个很不错的选择。本文简单介绍了用其部署flask项目的过程。
环境说明: centos 7.5 、python3.6

一、安装

yum install python-devel -y
pip install uwsgi

这里有个坑,会报下图中的错误。
在这里插入图片描述
解决方法:安装与python版本对应的python-devel
改为:yum install python36-devel -y,然后再次安装即可

二、配置

在项目同目录下新建 uwsgi.ini 文件,参考配置如下。

[uwsgi]
#单独部署时监听配置
http=0.0.0.0:16666  
#与nginx配合时监听配置
#socket=0.0.0.0:16666 
#项目入口文件
wsgi-file=xxx/app.py
#程序上下文
callable = app 
#启用主进程
master = true
#虚拟地址,多个项目时不能为true
vhost = true
#启用缓存
cache = true
#在每个worker而不是master中加载应用
lazy-apps = true
#允许在程序中启动新线程
enable-threads = true
#设置平滑的重启(直到处理完接收到的请求)的长等待时间(秒)
reload-mercy = 10
#设置请求的最大大小
buffer-size = 65535
#开启内存使用情况报告
memory-report = true
#服务停止后,清除pid文件
vacuum = true
#每个uWSGI进程的虚拟内存使用最大值
limit-as = 2048
#工作进程数
workers = 8
#串行化accept,防止“惊群”现象
thunder-lock = True
#pid文件,记录主进程的pid
pidfile=/var/run/uwsgi.pid
#后台运行,输出日志
daemonize=/var/log/uwsgi.log
#json格式记录各进程的运行状况
stats=uwsgi.status
#进程处理超时时间
http-timeout = 4800
#请求超时时间
harakiri = 4800
三、服务操作
  • 启动
    uwsgi --ini uwsgi.ini
  • 停止
    uwsgi stop /var/run/uwsgi.pid
  • 重启
    uwsgi restart /var/run/uwsgi.pid

因为配置有pidfile=/var/run/uwsgi.pid,启动后,会在该文件中生成uwsgi的主进程id号,因此停止和重启操作能使用该文件完成。

uwsgi启动和重启都比较耗时,因此在测试和联调时,建议使用flask自带的web服务器进行Debug调试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值