6

我的 Django 应用程序倾向于使用 uwsgi+nginx,任何人都可以分享启动我的 uwsgi 进程的最佳方法吗?有没有人有调整uwsgi的经验?

4

3 回答 3

4

在 OSX 上启动

unices 上的 Upstart/init。

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

调音:

查看邮件列表,获取有关您的特定要求的建议。Uwsgi 很棒,它是一个完整的部署解决方案。

0.8.40以上的Nginx会默认构建uwsgi绑定,构建nginx,构建uwsgi你就大功告成了。

于 2010-07-10T02:56:28.227 回答
2

这些是我在我的 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_

对我来说,主要的问题是:

  • 如果您想在关闭终端/ssh 会话后保持 uwsgi 服务器继续运行,请使用 daemonise 选项
  • 使用 vhost 在同一个 uwsgi 实例下运行多个站点,如果您的瓶颈是内存,那就太好了,就像我的其他出色的 webfaction 主机一样
  • pidfile 跟踪当前实例,使您能够调用 uwsgi --stop pidfile, uwsgi --start pidfile
  • procname 和 procname-prefix/append 为您的进程提供一个好听的名称,以便您可以使用 ps -u username | 轻松将其单独列出。grep some_string
于 2011-11-28T00:27:48.427 回答
0

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

于 2015-02-27T15:52:18.427 回答