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呢?
Vous pouvez clairement voir un problème
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
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
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