Dies ist meine erste Web-App-Bereitstellung, bei der alle möglichen Probleme auftreten.
Ich werde momentan eine Nginx + Gunicorn-Implementierung für die Django-App durchführen, aber diese Frage bezieht sich hauptsächlich auf Nginx-Konfigurationen. In einigen Fällen erhielt nginx Verbindungen und einen Proxy zum lokalen Server von gunicorn.
In den Nginx-Konfigurationen, wo steht, server_name
muss ich eine angeben? Ich habe nicht vor, Domain-Namen jeglicher Art zu verwenden, nur über die externe IP-Adresse meines Netzwerks (statisch) und die Port-Nummer, die abgehört werden soll.
Mein Wunsch ist es, dass ich, wenn ich auf so etwas zugreife http://xxx.xxx.xxx.xxx:9050
, die Site bekommen kann.
Das Folgende ist der Beispielcode, auf den ich die Konfigurationen als Referenz stützen werde.
server {
listen 80;
server_name WHAT TO PUT HERE?;
root /path/to/test/hello;
location /media/ {
# if asset versioning is used
if ($query_string) {
expires max;
}
}
location /admin/media/ {
# this changes depending on your python version
root /path/to/test/lib/python2.6/site-packages/django/contrib;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8000/;
}
# what to serve if upstream is not available or crashes
error_page 500 502 503 504 /media/50x.html;
}
Servername _; ist kein Platzhalter, siehe hier:
http://blog.gahooa.com/2013/08/21/nginx-how-to-specify-a-default-server
Geben Sie einfach die default_server-Direktive für den Nur-IP-Zugriff an (siehe http://nginx.org/en/docs/http/request_processing.html ).
quelle
server_name _;
handelt es sich um eine Nichtübereinstimmung.Wenn Ihre App ohne bestimmten Hostnamen auf Port 9050 antworten soll, können Sie Servername einfach überspringen. Dies ist nicht erforderlich, da Nginx zuerst den Listen-Eintrag und dann den Servernamen auflöst, falls vorhanden:
Weitere Details hier: Nginx Servername und wie es funktioniert
quelle