我正在关注在数字海洋Ubuntu发行版上设置节点项目的this教程。 systemctl status pm2
显示该服务在线:
App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching
server │ 1 │ fork │ 19999 │ online │ 0 │ 0s │ 21.219 MB │ disabled │
但是当我尝试导航到域时,我收到连接拒绝错误。如果我用npm start运行它,应用程序在端口5000上启动正常。我安装了Nginx并配置如下:
server {
listen 80;
server_name <mysite.com>;
location / {
proxy_pass http://localhost:5000;
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;
}
}
节点版本为v6.3.0,pm2版本为1.1.3。
答案 0 :(得分:1)
我经历过类似的事情:
node
与node dist/app.js
一起运行,可以按预期访问TCP服务器:$ nc -vz 1.1.1.1 5000
> Connection to 1.1.1.1 port 5000 [tcp/commplex-main] succeeded!
(注意:不是真实的IP地址^^^)
pm2
以pm2 restart dist/app.js
运行时,TCP服务器拒绝了连接:$ nc -vz 1.1.1.1 5000
> nc: connectx to 1.1.1.1 port 5000 (tcp) failed: Connection refused
检查.env
后,我意识到我不小心将服务器主机IP保留在开发本地主机127.0.0.1
上,而不是将其更改为公用接口0.0.0.0
。
切换到公用接口0.0.0.0
后,它们的行为与连接成功相同。
stream
的TCP的反向代理服务器。