OSX上的Nginx:"服务器"这里不允许使用指令

时间:2016-02-20 14:27:03

标签: macos nginx

我试图通过Mac上的Nginx提供Node应用程序,但我遇到了问题。

在Ubuntu上,我总是将配置文件更改为此

server {
        listen 80;

        server_name example.com;

        location / {
                proxy_pass http://127.0.0.1:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

但是当我在Mac上执行相同操作时,我在运行服务器时遇到此错误:

  

nginx:[emerg]" server"这里不允许使用指令   /usr/local/etc/nginx/nginx.conf:1

对于为什么会发生这种情况的任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:2)

根据nginx' s page http是外部块。所以应该在服务器块之前添加一个http块。

答案 1 :(得分:0)

这样做,我得到host not found in "$PORT" of the "listen" directive

http {
    server {
    listen $PORT;
    server_name test-rpc.test.com;
    location / {
        proxy_ssl_server_name on;
        proxy_pass http://test-rpc;
    }
    }

    upstream test-rpc {
        server localhost:2000 max_fails=3 fail_timeout=10s;
        server localhost:2001 max_fails=3 fail_timeout=10s;
    }
}