Mon application Django fonctionne bien sur mon serveur lorsque je l’exécute sous “python manage.py runserver …..” mais quand je l’exécute sous nginx / fastcgi, je reçois un 404.
Voici le message d’erreur:
Page non trouvée (404)
Méthode de demande: GET
URL de demande: blah.youtrain.me/admin/ (j’ai supprimé le http en raison des contraintes de StackOverflow pour le nouveau compte)En utilisant l’URLconf défini dans youtrainme.urls, Django a essayé ces modèles d’URL, dans cet ordre:
- Configurer Django avec Nginx, uWSGI et Postgres sur Docker
- Redémarrer Gunicorn / Nginx lorsque des modifications sont apscopes aux fichiers
- Django nginx admin media
- Comment exécuter uWSGI en tant qu’utilisateur à access limité?
- Vide ‘URL actuelle’ pour Django déployé avec Nginx et fastcgi
^ admin / doc /
^ admin /
L’URL actuelle, ne correspond à aucun de ceux-ci.
Quelle que soit la page de mon application sur laquelle je vais sous nginx, elle affiche toujours le même message d’erreur: “L’URL actuelle ne correspond à aucun de ceux-ci.”
Sous nginx, si je vais juste sur blah.youtrain.me, l’URL de requête ci-dessus devient: blah.youtrain.me// <— notez la barre oblique finale. Toutefois, sous serveur d'exécution, il n'y a pas de barre oblique dans la ligne URL de la demande. Cela pourrait donner un aperçu?
Toute aide serait grandement appréciée! 🙂
Voici ma configuration nginx pour ce site:
serveur
{
écouter 80;
nom_serveur blah.youtrain.me;
access_log /home/ytmadmin/public_html/blah.youtrain.me/log/access.log;
error_log /home/ytmadmin/public_html/blah.youtrain.me/log/error.log debug;
# réécrire les règles – fichiers
location ~ *. +.> (xml | jpg | jpeg | gif | png | ico | css | zip | tgz | gz | rar | bz2 | doc | xls | exe | pdf | ppt | txt | tar | mid | midi | wav | bmp | rtf | js | swf)
{
access_log off;
expire 30d;
Pause;
}
# requêtes python
emplacement /
{
fastcgi_pass 127.0.0.1:8010;
fastcgi_pass_header Autorisation;
fastcgi_intercept_errors off;
inclure / usr / local / nginx / conf / fastcgi_params;
}
}
Et mes urls.py
à partir de django.conf.urls.defaults importer des modèles, inclure, URL
à partir de django.consortingb import admin
admin.autodiscover ()urlpatterns = patterns (”,
(r ‘^ $’, ‘main.views.index’),
(r ‘^ admin / doc /’, include (‘django.consortingb.admindocs.urls’)),# Décommentez la ligne suivante pour permettre à l’administrateur:
(r ‘^ admin /’, inclure (admin.site.urls)),
)
J’ai trouvé la solution ici: https://serverfault.com/questions/134863/nginx-fastcgi-problems-with-django-double-slashes-in-url
Sous nginx, j’ai dû supprimer la ligne suivante de mon fichier nginx / conf / fastcgi_params et tout allait bien:
fastcgi_param SCRIPT_NAME $ fastcgi_script_name;