Ketika saya mencoba membuat kode seperti itu:
1. http {
2. script
3. server {
4. ...
5. location ...
6. }
7. }
Saya mendapatkan kesalahan:
nginx: [emerg] unknown directive "http" in /etc/nginx/conf.d/nginx.conf:1
Ketika kode seperti ini:
1. server {
2. ...
3. location ...
4. script
5. }
6. server {
7. ...
8. location ....
9. script
10. }
... semuanya stabil. Apakah ada yang tahu mengapa saya tidak bisa menggunakan http
?
Saya melihat dalam setiap contoh penggunaan yang baik dapat melihat http, tetapi saya tidak dapat menggunakannya dengan baik karena kesalahan ini.
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
Jawaban:
/etc/nginx/nginx.conf adalah file konfigurasi utama dengan http {}, file-file di conf.d dimuat di dalam blok itu, jadi http sudah ada di sana.
Jika Anda ingin menentukan beberapa variabel config di blok http, letakkan di file conf.d tanpa tag lain yang membungkusnya.
sumber