nginx: [Emerg] directive inconnue “http”

11

Quand j'essaye de faire du code comme ça:

1. http {
2.    script
3.    server {
4.        ...
5.        location ...
6.    }
7. }

Je reçois une erreur:

nginx: [emerg] unknown directive "http" in /etc/nginx/conf.d/nginx.conf:1

Lorsque le code est comme ceci:

1. server {
2.     ...
3.     location ...
4.     script
5. }
6. server {
7.     ...
8.     location ....
9.     script
10. }

... tout est stable. Est-ce que quelqu'un sait pourquoi je ne peux pas utiliser http?

Je vois dans chaque exemple de bonne utilisation que je peux voir le http, mais je ne peux pas l'utiliser correctement à cause de cette erreur.

nginx: nginx version: nginx/1.0.10
nginx: TLS SNI support enabled
nginx: configure arguments: --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6
Michael Hampton
la source
2
la solution est tout simplement .. le fichier de configuration principal n'est pas dans /etc/nginx/conf.d/nginx.conf mais est /etc/nginx/nginx.conf :)

Réponses:

17

/etc/nginx/nginx.conf est le fichier de configuration principal avec http {}, les fichiers dans conf.d sont chargés à l' intérieur de ce bloc, donc http est déjà là.

Si vous souhaitez spécifier une variable de configuration dans le bloc http, placez-la dans un fichier conf.d sans aucune autre balise l'enveloppant.

Shish
la source