to jest moje pierwsze wdrożenie aplikacji internetowej i napotykam na różnego rodzaju problemy.
Obecnie idę na implementację nginx + gunicorn dla aplikacji Django, ale głównie to pytanie dotyczy konfiguracji nginx. W pewnym kontekście - nginx otrzymuje połączenia i proxy do lokalnego serwera gunicorn.
w konfiguracjach nginx, gdzie jest napisane, server_name
czy muszę je podać? Nie planuję używać żadnych nazw domen, tylko poprzez zewnętrzny adres IP mojej sieci (jest statyczny) i numer portu, którego należy słuchać.
Pragnę, aby kiedy uzyskałem dostęp do czegoś takiego http://xxx.xxx.xxx.xxx:9050
, byłbym w stanie uzyskać stronę.
Poniżej znajduje się przykładowy kod, na którym oprę konfiguracje w celach informacyjnych.
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;
}