我已经重新配置了nginx,但我无法使用以下配置重新启动它:
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; } }
在运行sudo nginx -c conf -t
以测试配置后,返回以下错误我无法弄清楚究竟是什么问题
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
Richard Smit.. 139
那不是nginx
配置文件.这是部分的的nginx
配置文件.
该nginx
配置文件(通常称为nginx.conf
)的样子:
events { ... } http { ... server { ... } }
该server
块被包含在一个http
块内.
通常,配置分布在多个文件中,通过使用include
指令引入其他片段(例如从sites-enabled
目录中).
使用sudo nginx -t
测试完整的配置文件,它开始于nginx.conf
并使用额外的片段拉include
指令.有关更多信息,请参阅此文
那不是nginx
配置文件.这是部分的的nginx
配置文件.
该nginx
配置文件(通常称为nginx.conf
)的样子:
events { ... } http { ... server { ... } }
该server
块被包含在一个http
块内.
通常,配置分布在多个文件中,通过使用include
指令引入其他片段(例如从sites-enabled
目录中).
使用sudo nginx -t
测试完整的配置文件,它开始于nginx.conf
并使用额外的片段拉include
指令.有关更多信息,请参阅此文