Linux下uwsgi服务器配置
Linux下部署python的web项目常用到uwsgi,但是uwsgi关闭和重启困难,我之前都是修改完代码然后重启服务器来解决的,显然这并不适用于线上项目。网络上常见的博客解决方法用一个写一个shell来进行关闭,本人实际测试过,过于繁琐,并不是解决重启项目的最优解。通过阅读uwsgi的官方文档和总结整理成这篇博客,希望可以帮助到广大python web程序员和使用uwsgi服务器的伙伴。
1.uwsgi 配置文件
我本身用的是Django框架,在此用Django来举例。
配置文件内容如下:
# mysite_uwsgi.ini file
[uwsgi]
# Django-related settings
# 项目的完整路径
chdir = /home/rzy/enterprise/Cavy
# Django's wsgi file
module = Cavy.wsgi
# the virtualenv (full path)
# master
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = :8031
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
# 日志的存放路径,目录要建立好,.log文件程序启动会自动建立,追加内容
daemonize = /home/rzy/log/cavy_debug.log
buffer-size = 65535
post-buffering = 65535
# python所用虚拟环境的完整路径
virtualenv = /home/rzy/.virtualenvs/py2_successs_edu
# uwsgi进程的状态文件存放
stats = %(chdir)/uwsgi/uwsgi.status
# uwsgi文件启动后的pid
pidfile = %(chdir)/uwsgi/uwsgi.pid
将此文件命名为 [项目名]_uwsgi.ini , 拿我的项目Cavy为例子,我的uwsgi文件就是命名为cavy_uwsgi.ini,这样写很容易理解是某个项目的uwsgi配置文件。
2.建立uwsgi文件夹
在项目的根目录下建立uwsgi文件夹, 使用命令mkdir uwsgi
即可,建立名为uwsgi的文件夹,用于存放步骤1中的uwsgi.status 和uwsgi.pid文件。
3.uwsgi 服务器的启动、关闭和重新加载
uwsgi服务器配置成功后,可以使用uwsgi命令来进行灵活管理。
(1)启动
uwsgi --ini cavy_uwsgi.ini
(2)停止
uwsgi --stop uwsgi/uwsgi.pid
(3)重启
uwsgi --connect-and-read uwsgi/uwsgi.status
从此,管理uwsgi项目就方便很多了。有问题可以评论区私我。我的另一边博客ubuntu + Django + uwsgi + nginx详细讲述了Django项目在Ubuntu上的部署方案,传送门点这里(我现在还没写好)。