J'ai reconfiguré nginx mais je n'arrive pas à le redémarrer en utilisant la configuration suivante:
conf:
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location /robots.txt {
alias /path/to/robots.txt;
access_log off;
log_not_found off;
}
location = /favicon.ico { access_log off; log_not_found off; }
location / {
proxy_pass_header Server;
proxy_set_header Host $http_Host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_read_timeout 30;
proxy_pass http://127.0.0.1:8000;
}
location /static {
expires 1M;
alias /path/to/staticfiles;
}
}
après avoir exécuté Sudo nginx -c conf -t
pour tester la configuration, l'erreur suivante est renvoyée. Je ne peux pas déterminer le véritable problème.
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-available/config:1
nginx: configuration file /etc/nginx/sites-available/config test failed
Ce n'est pas un fichier de configuration nginx
. C'est une partie d'un fichier de configuration nginx
.
Le fichier de configuration nginx
(généralement appelé nginx.conf
) ressemblera à ceci:
events {
...
}
http {
...
server {
...
}
}
Le bloc server
est enfermé dans un bloc http
.
Souvent, la configuration est répartie sur plusieurs fichiers en utilisant les directives include
pour extraire des fragments supplémentaires (par exemple, à partir du répertoire sites-enabled
].
Utilisez Sudo nginx -t
pour tester le fichier de configuration complet, qui commence par nginx.conf
et extrait des fragments supplémentaires à l'aide de la directive include
. Voir ce document pour plus.