Arahan server nginx tidak diizinkan di sini

44

Saya tahu ada banyak penipuan di luar sana, tetapi saya tidak bisa menyelesaikan ini dalam situasi saya.

Saya mengikuti artikel tentang pengaturan nginx sebagai proxy terbalik dengan apache.

Dan saya mendapatkan kesalahan ini:

nginx: [emerg] "server" directive is not allowed here in 
       /etc/nginx/v.hosts/mydomain.com.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed

/etc/nginx/nginx.confPenampilan saya seperti ini:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream; 
    access_log  /var/log/nginx/access.log  main;  
    charset   utf-8;
    keepalive_timeout  65;
    server_tokens       off;
    tcp_nopush          on;
    tcp_nodelay         off;

    server {
          listen 80;
          server_name  _;          
          root   /usr/share/nginx/html;
          index  index.html index.htm;     
       }
    }
include  v.hosts/*.conf;

Dan ini saya /etc/nginx/v.hosts/mydomain.com.confterlihat seperti ini:

server {
      listen 80;
      server_name  mydomain.com;

       access_log  off;
       error_log off;

      location / {
        proxy_pass http://127.0.0.1:81;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        Host            $host;
        proxy_redirect          off;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        client_max_body_size 10m;
        client_body_buffer_size 128k;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
      }
 }

Petunjuk dan bantuan akan sangat dihargai :)

Gideon
sumber
Menghapus semua tautan, karena sudah mati sekarang.
Sven

Jawaban:

39

Masalahnya ada di sini:

    }
include  v.hosts/*.conf;

Anda telah menutup httpblok sebelum includearahan, sehingga mengakhiri konfigurasi. Inilah sebabnya mengapa tidak ada file yang disertakan berfungsi.

Untuk memperbaiki masalah ini, includefile di dalam httpblokir:

    include  v.hosts/*.conf;
}
Michael Hampton
sumber