Le déploiement de Django sur nginx
salut, j'ai besoin de déployer une application django sur nginx . J'ai installer nginx et python-flup dans ma fedora que j'essaye cette guide mais nginx ne peut pas lire mon fichier statique .
dans mon projet, dir j'ai utilisé cette commande pour exécuter fastcgi:
[nima@ca005 bank]$ python ./manage.py runfcgi host=127.0.0.1 port=8080
[nima@ca005 bank]$
et c'est mon sample_project.conf dans /etc/nginx/sites-activer/:
server {
listen 80;
server_name 192.168.16.161;
access_log /var/log/nginx/sample_project.access.log;
error_log /var/log/nginx/sample_project.error.log;
# https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
location /static/ { # STATIC_URL
alias /home/nima/workspace/bank/media/; # STATIC_ROOT
expires 30d;
}
location /media/ { # MEDIA_URL
alias /home/nima/workspace/bank/meli/static/; # MEDIA_ROOT
expires 30d;
}
location / {
include fastcgi_params;
fastcgi_pass 127.0.0.1:8080;
fastcgi_split_path_info ^()(.*)$;
}
}
nginx.conf:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# Load config files from the /etc/nginx/conf.d directory
# The default server is in conf.d/default.conf
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enable/*;
}
que dois-je faire?!
OriginalL'auteur nim4n | 2013-07-07
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, si vous avez choisi d'utiliser nginx, puis utilisez
gunicorn
, c'est la meilleure option, et si vous le souhaitez pour l'utilisation d'Apache, puis vous utilisezmod_wsgi
.Cette va vous montrer comment utiliser gunicorn. Juste pour vous dire à quel point il sert, gunicorn est utilisé par Instagram, parce qu'ils prétendent qu'il leur donne de meilleures performances.
Configuration
gunicorn
est très simple et facile à faire, et cette tutoriel ici, vous donne toutes les choses nécessaires pour le réaliser très rapidement.Cette est leur site web.
Essayez ceci : stackoverflow.com/questions/12800862/...
Avez le lien pour vous?
la partie statique oui . mais j'ai un problème avec upstart partie. lorsque je tente de démarrer le service me donne cette erreur : root@ca005 nima]# service bonjour de début de la Redirection vers /bin/systemctl start bonjour.service n'a pas pu émettre un appel de méthode: l'Unité de bonjour.service de chargement a échoué: Aucun fichier ou répertoire. Voir les journaux du système et 'systemctl status bonjour.service pour plus de détails.
Il peut aider, j'ai écrit un guide pour le déploiement de Django avec upstart, nginx et gunicorn : ponytech.net/blog/2013/09/10/...
OriginalL'auteur Games Brainiac
Essayer cette lien à l'aide de fastcgi mode
Ou cette lien à l'aide de uwsgi mode
Edit: fcgi mode est déconseillé dans django et seront supprimés. uwsgi est favorable mode. L'une des nombreuses références, cochez cette
OriginalL'auteur ashish