Je suis les tutoriel sur Flask servant avec nginx sur Digital Ocean. Après avoir créé le fichier de configuration suivant pour nginx dans /etc/sites-available/mysite :
server {
listen 80;
server_name your_domain www.your_domain;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/user/myproject/myproject.sock;
}
}
(évidemment, j'ai remplacé domain par mon domaine et path to socket par mon socket), lorsque je lance sudo nginx -t -c /etc/nginx/sites-available/mysite
j'obtiens
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-available/silaeder-projects:1
nginx: configuration file /etc/nginx/sites-available/silaeder-projects test failed
J'ai vérifié deux fois que j'ai copié le code correctement. Qu'est-ce qui pourrait ne pas aller ?
UPD :
Si je lance simplement sudo nginx -t, je n'obtiens aucune erreur, mais sudo systemctl restart nginx
échoue avec :
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
La commande systemctl status nginx.service
retours :
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 Tue 2018-11-27 11:33:49 UTC; 39s ago
Docs: man:nginx(8)
Process: 8485 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Process: 8475 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
journalctl -xe
ne contient aucune entrée pertinente pour le temps.
1 votes
L'erreur est légitime, car vous ne vérifiez qu'une partie de la configuration. Essayez de vérifier avec nginx -t seulement (nginx.conf contient la configuration de base).