我倾向于使用uwsgi+nginx来运行我的Django应用程序,有人能分享启动uwsgi进程的最佳方法吗?有没有经验调整uwsgi的人?
在OSX上,使用Launchd。
在Unix系统中,使用Upstart/init。
uwsgi也有自己的进程管理器,所以您也可以直接运行它。
调优:
查看邮件列表,了解有关您特定要求的建议。Uwsgi非常棒,它是一个完整的部署解决方案。
Nginx 0.8.40以上版本将默认构建uwsgi绑定。构建nginx、构建uwsgi,您就可以顺利完成了。
这些是我在 fabfile.py 文件中使用的函数(如果你还没有了解 Python Fabric,请查看):
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]
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_
对我来说,主要的问题是:
我会使用supervisord来管理启动和停止进程。