nginx + uwsgi – Qu'est-ce qui sert les files statiques?

J'utilise nginx comme proxy dans quelques applications de flasks, avec uwsgi comme middleware. Voici ma configuration nginx pour une application de test.

server { listn 80; server_name test.myapp.com www.test.myapp.com; charset utf-8; client_max_body_size 250M; location / { try_files $uri @testapp; } 

 location @testapp { include uwsgi_params; uwsgi_pass unix:/tmp/testapp_uwsgi.sock; } location /forecaster/components/ { alias /opt/test/client/app/components/; } 

}

Je suis certain que Nginx ne sert pas vraiment les files statiques, même si je commenter le bloc de location , les files sont servis par quelque chose. Je vois 200 dans le journal nginx, ainsi que 200 dans les journaux uWsgi. Comment pouvez-vous dire à qui sert les files statiques? Je suppose que l'application du flask pourrait aussi les servir?

/ opt / test / client / application / components / existe certainement, et est lisible pour les autres. Existe-t-il un moyen de forcer uwsgi à ne pas traiter ces requests?

One Solution collect form web for “nginx + uwsgi – Qu'est-ce qui sert les files statiques?”

Vous avez besoin d'un location . Mais ce n'est pas pourquoi nginx ne sert pas vos files statiques.

Le problème est que vous avez oublié de spécifier une directive root dans votre bloc server . Donc, nginx utilise son défaut compilé, qui dépend du système et qui n'est certainement pas là où votre application Web est située. Ainsi, toutes les requêtes, y compris pour les files statiques, vont en amont à uWSGI.

Pour corriger le problème, définissez une directive root indiquant les ressources statiques de votre application.

 server { root /srv/www/testapp; 

Ou si vous avez uniquement des files statiques dans les sous-directorys, vous pouvez spécifier ensuite avec l' location et l' alias comme indiqué dans la documentation uWSGI .

 location /static { alias /srv/www/testapp/static; } 
  • Serveur Ubuntu 12.04 - Django avec uWsgi ne fonctionne pas
  • problème d'permissions uWSGI
  • Script (bash) pour démarrer / redémarrer automatiquement nginx (s'il échoue)
  • Effets secondaires du réglage des requêtes maximales sur uwsgi config
  • ne peut pas démarrer systemd dans debian wheezy
  • Nginx: utilisez uwsgi_pass avec un proxy_passback?
  • Fichier de l'unité Systemd pour l'échec uWSGI
  • L'application Bottle.py expire sur mod_wsgi et uwsgi mais fonctionne en mode dev
  • 502 réponses étranges de AWS ELB
  • ubuntu + nginx + uwsgi + django Aucune application Python n'a été trouvée
  • Nginx & uWSGI: ImportError: aucun module nommé site
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.