c'est mon premier déploiement d'application web et je rencontre toutes sortes de problèmes.
Je vais actuellement pour une implémentation nginx + gunicorn pour l'application Django, mais surtout cette question concerne les configurations nginx. Pour certains contextes, nginx recevrait des connexions et un proxy vers le serveur local gunicorn.
dans les configurations nginx, où il est dit server_name
que je dois en fournir un? Je n'ai pas l'intention d'utiliser des noms de domaine d'aucune sorte, uniquement via l'IP externe de mon réseau (il est statique) et le numéro de port à écouter.
Mon désir est que lorsque j'accède à quelque chose comme http://xxx.xxx.xxx.xxx:9050
je puisse obtenir le site.
Voici l'exemple de code sur lequel je baserai les configurations pour référence.
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;
}