我想运行没有服务器名称的服务器(nodejs)。只在我的 IP 地址上运行。这是我的配置文件:
/etc/nginx/sites-available/server.com.conf
server {
listen xx.xx.xx.xx:3000 default_server;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://xx.xx.xx.xx:3000";
}
}
当我重新启动 nginx 并查看状态时出现此错误:
nginx:[emerg] bind() 到 ip:3000 失败(99:无法分配请求的地址)
我哪里错了?请帮帮我
答案1
如果你的nodejs在不同的服务器上运行NGINX
,你可以upstream
在nginx配置中定义。listen
仅将参数保留为端口号。
例子:
upstream yournodejsserver {
server xx.xx.xx.xx:3000;
}
server {
listen 3000;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://yournodejsserver;
}
}
参考: