Cuando intento hacer un código como este:
1. http {
2. script
3. server {
4. ...
5. location ...
6. }
7. }
Me sale el error:
nginx: [emerg] unknown directive "http" in /etc/nginx/conf.d/nginx.conf:1
Cuando el código es así:
1. server {
2. ...
3. location ...
4. script
5. }
6. server {
7. ...
8. location ....
9. script
10. }
... todo es estable. ¿Alguien sabe por qué no puedo usar http
?
Veo que en cada ejemplo de buen uso puedo ver el http, pero no puedo usarlo bien debido a este error.
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
Respuestas:
/etc/nginx/nginx.conf es el archivo de configuración principal con http {}, los archivos en conf.d se cargan dentro de ese bloque, por lo que el http ya está allí.
Si desea especificar alguna variable de configuración en el bloque http, colóquelo en un archivo conf.d sin otras etiquetas que lo envuelvan.
fuente