Django

Django、uWSGI 和 Supervisord 配置

  • February 22, 2012

好的,我在伺服器上設置了 Django、nginx 和 uWSGI……問題是我通過以下命令手動啟動 uWSGI:

uwsgi -s /home/user/sites/sock/uwsgi.sock -t 10 -M -p 1 -C –pythonpath /home/user/sites/ -w mysite.django_wsgi

而且效果很好。我想做的是使用 supervisord 來控制 uWSGI 程序(啟動、停止等)。我該怎麼做,supervisord 配置會是什麼樣子?

在我發現帝王模式之前,我發現這很令人困惑。

這意味著您可以使用一個 supervisord 實例來管理您的所有配置:

[program:uwsgi]
command=/usr/local/bin/uwsgi --emperor /etc/uwsgi/apps-enabled
stopsignal=QUIT
autostart=true
autorestart=true
redirect_stderr=true

然後將應用程序的任何配置文件(ini、xml、yaml)彈出到/etc/uwsgi/apps-enabled目錄中。

不確定這是否適用於 0.9,但肯定適用於 1.0。

這是 Flask 應用程序的範例 ini:

[uwsgi]
socket = /tmp/uwsgi_%n.sock
module = wire:app
chdir = /srv/%n/wire
env = WIRE_SETTINGS=/srv/%n/wire/config.py
virtualenv = /srv/%n
uid = wire
gid = www-data
single-interpreter = false
chmod = 770
processes = 3

引用自:https://serverfault.com/questions/195282