django - nginx ne peut pas appliquer la configuration dans mysite_nginx.conf, démarre toujours avec la configuration par défaut
仅有的幸福
仅有的幸福 2017-05-16 17:25:22
0
7
514

[Supplément] À propos de uwsgi_params :
Voici ce que dit le site officiel :

Configurez nginx pour votre site

Vous aurez besoin du fichier uwsgi_params, disponible dans le répertoire nginx de la distribution uWSGI, ou depuis https://github.com/nginx/nginx/blob/master/conf/uwsgi_params
Copiez-le dans le répertoire de votre projet dans un instant, nous dirons à nginx de s'y référer.

[Texte original]
Lors du déploiement de uwsgi+nginx+django selon ce document http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html, la combinaison de uwsgi et django ou de python pur peut produire des résultats corrects, et c'est installé nginx之后也能在浏览器刷新看到Welcome to nginx!.

Puis j'ai créé le fichier de configuration nginx sous le dossier du projet Django :

# mysite_nginx.conf

# the upstream component nginx needs to connect to
upstream django {
    # server unix:///path/to/your/mysite/mysite.sock; # for a file socket
    server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

# configuration of the server
server {
    # the port your site will be served on
    listen      8000;
    # the domain name it will serve for
    server_name 192.168.33.10; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/vagrant/mysite/mysite/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /home/vagrant/mysite/mysite/static; # your Django project's static files - amend as required
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /home/vagrant/mysite/mysite/uwsgi_params; # the uwsgi_params file you installed
    }
}

Mais que vous essayiez d'utiliser directement test.py pour afficher hello world ou de démarrer le serveur Django, vous ne pouvez toujours voir que Welcome to nginx!, et le seul chemin suivi par l'adresse IP du serveur est le suivant.

Lorsque vous utilisez test.py directement, le résultat est le suivant :

$ uwsgi --socket :8001 --wsgi-file test.py *** Starting uWSGI 2.0.9 (64bit) on [Mon Feb  2 15:54:01 2015] ***
compiled with version: 4.6.3 on 02 February 2015 09:51:05
os: Linux-3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012
nodename: precise64
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /home/vagrant/mysite/mysite
detected binary path: /home/vagrant/mysite/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 2782
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address :8001 fd 3
Python version: 2.7.3 (default, Dec 18 2014, 19:25:50)  [GCC 4.6.3]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x1579b10
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72768 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x1579b10 pid: 1655 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 1655, cores: 1)
仅有的幸福
仅有的幸福

répondre à tous(7)
習慣沉默

Problème résolu. En fait, c'est parce que /etc/nginx/sites-enabled/下面有两个配置文件:default和我自己配置的mysite_nginx.conf, nginx utilise default par défaut. Supprimez simplement la valeur par défaut.

小葫芦

Le fichier de configuration ne fonctionne pas. Vérifiez si le fichier de configuration nginx a été lu correctement. Utilisez d'abord la démo la plus simple pour tester si le fichier de configuration prend effet

.
小葫芦

Nginx est configuré avec le port 8000, vous devez accéder au port 8000 de nginx,

Votre configuration nginx Django est

 upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

Le démarrage de Django doit donc être basé sur le port 8001.

uwsgi_params est dans nginx. Erreur de chemin de configuration. uwsgi_params est dans /etc/nginx/uwsgi_params
.

phpcn_u1582

Il y a un conflit d'interface. Premièrement, chaque service n'écoute qu'une seule interface. Selon la compréhension du fichier de configuration, elle devrait être nginx:8000 django:8001
. Dans ce cas, aucune erreur n'est signalée lors de l'exécution de python manage.py runserver localhost:8000, indiquant que le fichier de configuration nginx ne fonctionne pas. Il peut être démarré en utilisant le port par défaut 80. Veuillez vérifier la liste des interfaces. La commande Linux est :
. netstat -natp | grep nginx
Si vous souhaitez utiliser un fichier de configuration personnalisé pour démarrer, veuillez nginx -h pour afficher la commande spécifique, probablement -p ou -c.
Lorsque nginx est correctement configuré pour démarrer, Django doit également être démarré à l'aide de python manage.py runserver localhost:8001 pour garantir qu'il correspond à la conception du fichier de configuration

小葫芦

Avez-vous apporté le numéro de port lors de votre visite ? http://192.168.33.10:8000

巴扎黑

Confirmez si le fichier de configuration pointe correctement, par exemple

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Ty80

Tout d’abord, pensez à vous munir du numéro de port.

Deuxièmement, le message d'erreur indique que votre configuration est erronée. Jetez un œil au journal des erreurs.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal