我试图通过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
对于为什么会发生这种情况的任何建议都将不胜感激。
答案 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;
}
}