Ich versuche, meine Django-Anwendung auf Nginx + uWSGI-Server zu hosten. Hier ist meine Nginx Confignginx + uwsgi Konfiguration, um starken Verkehr zu behandeln
user www-data;
worker_processes 6;
pid /run/nginx.pid;
events {
worker_connections 1024;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Ich benutze uWSGI als Middleware. Hier ist der uWSGI Befehl zum Starten des Servers
uwsgi --chdir=/path/to/your/project \
--module=mysite.wsgi:application \
--env DJANGO_SETTINGS_MODULE=mysite.settings \
--master --pidfile=/tmp/project-master.pid \
--socket=127.0.0.1:49152 \
--processes=5 \
--uid=1000 --gid=2000 \
--harakiri=20 \
--max-requests=5000 \
--vacuum \
--home=/path/to/virtual/env \
--daemonize=/var/log/uwsgi/yourproject.log
Ich habe einige Fragen dazu.
Wie sollte ich den Wert für Prozesse für uWSGI config definieren?
Was ist der Hauptzweck, um einen bestimmten Prozess zu erzeugen?
Wie wird --vacuum helfen, den Server zu beschleunigen?
Wie bereits erwähnt, erwarte ich starken Verkehr auf diesem Server, also sind andere Anpassungen erforderlich?