uwsgi + django通过nginx -uwsgi设置/spawn?
题
对于我的Django应用程序,我倾向于UWSGI+NGINX,任何人都可以分享启动我的UWSGI流程的最佳方法吗?有人有经验调整UWSGI吗?
解决方案
在OSX上启动
Unices上的Upstart/Init。
UWSGI还拥有自己的流程管理器,因此您也可以运行它。
调整:
检查 邮件列表, ,以了解您的特定要求。 UWSGI很棒,它是一个完整的部署解决方案。
NGINX高于0.8.40的NGINX将默认情况下构建UWSGI绑定,构建nginx,构建UWSGI,您是金色的。
其他提示
这些是我在fabfile.py文件中使用的功能(如果尚未查看Python面料):
def start_uwsgi():
with cd(env.server.uwsgi):
if(exists('server.pid')):
stop_uwsgi()
run('sleep 1')
run('source venv/bin/activate;uwsgi --ini uwsgi.ini;'))
def stop_uwsgi():
with cd(env.server.uwsgi):
if(exists('server.pid')):
run('source venv/bin/activate;uwsgi --stop server.pid;'))
在我的uwsgi.ini文件中,我指定:
[uwsgi]
socket = :{{your_port}}
master = true
vhost = true
no-site = true
processes = 1
enable-threads = true
pidfile = server.pid
daemonize = server.log
auto-procname = true
procname-prefix = servername_
对我来说,主要的gotyas是:
- 关闭终端/SSH会话后,如果要保持UWSGI服务器的运行,请使用守护程序选项。
- 使用VHOST在同一UWSGI实例下运行多个站点,如果您的瓶颈是内存,那就很棒,就像我的瓶颈一样
- pidfile跟踪当前实例,使您可以致电UWSGI - stop pidfile,uwsgi- start pidfile
- procname和procname -prefix/append为您的流程提供了一个好名字,因此您可以轻松地使用PS -U用户名| grep some_string
我将与主管一起管理开始,停止过程。
不隶属于 StackOverflow