2017-01-20 17 views
14

Tôi đã cấu hình lại nginx, nhưng tôi không thể làm cho nó khởi động lại bằng cách sử dụng cấu hình sau:nginx: [emerg] "máy chủ" chỉ thị không được phép ở đây

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; 
} 
} 

sau khi chạy sudo nginx -c conf -t để kiểm tra cấu hình các lỗi sau được trả lại tôi không thể tìm ra những gì thực sự là vấn đề

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 

Trả lời

28

Đó không phải là một tập tin cấu hình nginx. Đó là phần của tệp cấu hình nginx.

File nginx cấu hình (thường được gọi là nginx.conf) sẽ trông giống như:

events { 
    ... 
} 
http { 
    ... 
    server { 
     ... 
    } 
} 

Khối server được kèm theo trong một khối http.

Thường thì cấu hình được phân phối trên nhiều tệp, bằng cách sử dụng các chỉ thị include để lấy các đoạn bổ sung (ví dụ: từ thư mục sites-enabled).

Sử dụng sudo nginx -t để kiểm tra tệp cấu hình hoàn chỉnh, bắt đầu tại nginx.conf và kéo các đoạn bổ sung bằng cách sử dụng chỉ thị include. Xem this document để biết thêm.

Các vấn đề liên quan