嘻嘻,
下面是配置 + 它抛出的错误,我无论如何也想不出哪里出了问题。尝试了各种方法让它工作,但都无济于事 :(
server {
listen 127.0.0.1:100;
access_log /var/log/nginx/main.proxied.log;
location ^~/(error_pages|javascript|stylesheets|help|images|xml|graphs|static|media) {
root /usr/local/nagios/share;
location ~* \.(js|css|rdf|xml|ico|txt|gif|jpg|png|jpeg)$ {
root /usr/local/nagios/share/;
}
location / {
proxy_pass http://127.0.0.1:80/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
以及错误;
Restarting nginx: [warn]: duplicate MIME type "text/html" in /etc/nginx/nginx.conf:29
[emerg]: location "/" is outside location "/(error_pages|javascript|stylesheets|help|images|xml|graphs|static|media)" in /etc/nginx/sites-enabled/main.conf:13
configuration file /etc/nginx/nginx.conf test failed
答案1
您的花括号不匹配。
以下行:
location ^~/(error_pages|javascript|stylesheets|help|images|xml|graphs|static|media) {
在其末尾有一个左花括号,但是在下一个位置行之前没有右花括号。
@memoryleak 所写的也是正确的,如果你关闭这两个位置块,现有的右花括号将关闭该server
块,这意味着最后location
现在处于错误的上下文中。
最后一个location
块也没有结束的花括号。
答案2
在你的配置文件中地点在……之外服务器指令,但上下文地点在里面服务器: http://wiki.nginx.org/HttpCoreModule#location