通过Nginx的uwsgi + django - uwsgi设置/ spawn?

问题描述:

我倾向于uwsgi + nginx为我的Django应用程序,任何人都可以分享启动我的uwsgi进程的最佳方法?有没有人有经验调整uwsgi?通过Nginx的uwsgi + django - uwsgi设置/ spawn?

在OSX上启动

unst上的Upstart/init。

uwsgi也有自己的进程管理器,所以你也可以运行它。

调整:

检查mailing list,在您的特殊要求的建议。 Uwsgi很棒,它是一个完整的部署解决方案。

Nginx高于0.8.40将默认生成uwsgi绑定,生成nginx,生成uwsgi并且你是黄金。

这些都是我在fabfile.py文件使用的功能(看看蟒蛇面料,如果您还没有):

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:

  • 使用daemonise选项,如果你想保持uwsgi服务器去你闭上你的终端/ SSH年代后分裂国家
  • 使用虚拟主机相同的uwsgi实例,这是伟大的,如果你的瓶颈是内存,像我是与其它的梦幻般的webfaction主机
  • 跟踪了pidfile当前实例,使您能够调用uwsgi下运行多个站点 - 停止pidfile,uwsgi --start pidfile
  • procname和procname-prefix/append为您的进程提供一个不错的名称,以便您可以轻松地使用ps -u username | grep some_string
+0

帮了我很多! +1为“procname” – 2012-04-27 14:25:46

我将与supervisord一起管理启动,停止过程。