django - nginx+uwsgi启动提示unknown directive "location /"(新手)
迷茫
迷茫 2017-04-24 09:09:45
0
1
1226

p.s: 环境是ubuntu16.04,项目的目录是/home/alps/mysite

# uwsgi启动正常
uwsgi -i uwsgi.ini

/home/alps/mysite/uwsgi.ini配置文件如下

[uwsgi]
socket = 127.0.0.1:8001
chdir=/home/alps/mysite/
wsgi-file = mysite/wsgi.py

processes = 2
threads = 4

chmod-socket = 664

/etc/nginx/sites-enabled/mysite.conf的配置文件如下

server{
    location / {
        listen 80;
        uwsgi_pass 127.0.0.1:8001 
        include     /etc/nginx/uwsgi_params;
    }
}

下面是报错信息

$ sudo service nginx configtest
 * Testing nginx configuration    [fail] 

$ systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

$ systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-09-29 19:52:25 CST; 11s ago
  Process: 3450 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

Starting A high performance web server and a reverse proxy server...
nginx: [emerg] unknown directive "location /" in /etc/nginx/sites-enabled/mysite.conf:2
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx.service: Control process exited, code=exited status=1
Failed to start A high performance web server and a reverse proxy server.
nginx.service: Unit entered failed state.
nginx.service: Failed with result 'exit-code'.

请问"location /"为什么是unknown directive呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(1)
伊谢尔伦

Vous pouvez clairement voir un problème

9月 27 22:41:01 yue nginx[4206]: nginx: [emerg] unknown directive "server " in /etc/nginx/sites-enabled/mysite.conf:1
9月 27 22:41:01 yue nginx[4206]: nginx: configuration file /etc/nginx/nginx.conf test failed

Votre configuration ne réussit même pas la propre vérification de configuration de nginx, ce qui signifie qu'il y a un problème avec votre configuration nginx.
Puis j'ai vu que votre configuration incluait

include /etc/nginx/sites-enabled/*;

Je peux confirmer que l'erreur signalée est due à votre configuration nginx/etc/nginx/sites-enabled/mysite.conf
Je pense que vous devez vérifier à nouveau votre configuration. Ne vous précipitez pas pour utiliser le superviseur If. votre configuration de transfert est la suivante : S'il y a un problème de démarrage, cela n'a rien à voir avec le superviseur.
Je vous propose de suivre cette idée,

Modifiez d'abord la configuration correctement. Je vois que votre configuration nginx est configurée pour transférer unix:///tmp/mysite.sock ; votre configuration uwsgi ne spécifie pas de socket pour écouter un certain port. Maintenant, je pense que vous pouvez. Essayez de définir les paramètres de socket d'uwsgi pour écouter sur un certain port, tel que

socket = 127.0.0.1:8001

Ensuite, remplacez le transfert de nginx uwsgi_pass unix:///tmp/mysite.sock ; par
uwsgi_pass 127.0.0.1:8001

Ensuite, allez sur uwsgi -i uwsgi.ini et voyez si le transfert peut arriver

Si cela réussit, l'erreur que vous signalez maintenant devrait être résolue. Regarde au dos

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