Ich lehne mich an uwsgi + nginx für meine Django-App, kann jemand die beste Methode zum Starten meiner uwsgi-Prozesse teilen? Hat jemand Erfahrung uwsgi tuning?uwsgi + django über Nginx - uwsgi Einstellungen/Spawn?
5
A
Antwort
4
Launchd auf OSX
Upstart/init auf den Unix-Varianten.
uwsgi hat auch einen eigenen Prozessmanager, also können Sie das auch einfach ausführen.
Tuning:
Überprüfen Sie die mailing list, für die Beratung über Ihre besonderen Anforderungen. Uwsgi ist erstaunlich, es ist eine komplette Bereitstellungslösung.
Nginx über 0.8.40 wird standardmäßig die uwsgi-Bindungen erstellen, nginx erstellen, uwsgi erstellen und du bist golden.
1
das sind die Funktionen i in meiner fabfile.py-Datei verwenden (check out Python Stoff, wenn Sie nicht bereits haben):
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;'))
In meiner uwsgi.ini Datei angeben i:
[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_
für mich die wichtigsten gotyas waren:
- die daemonise Option verwenden, wenn Sie den uwsgi Server gehen halten wollen, nachdem Sie Ihre Terminal/ssh s schließen ITZUNG
- Verwendung vHost mehrere Standorte unter dem gleichen uwsgi Instanz laufen, das ist toll, wenn Ihr Engpass Speicher ist, wie meine mit dem ansonsten fantastischen Webfaction Gastgeber ist
- pidfile verfolgt die aktuelle Instanz, Sie ermöglicht uwsgi zu nennen - stop pidfile, uwsgi --start pidfile
- procname und procname-prefix/append geben Sie Ihrem Prozess einen schönen Namen, damit Sie ihn einfach mit ps -u username | grep some_string
0
Ich werde mit supervisord für die Verwaltung der Start, Stop-Prozess gehen.
hat mir sehr geholfen! +1 für den "procname" –