URL 名称后需要端口号吗?

URL 名称后需要端口号吗?

我按照数字海洋教程将我的 node.js 应用程序部署到 VPS 上。一切正常,但不是从 myDomain.com 访问应用程序,而是只能通过 myDomain.com:3700 访问。myDomain.com 仅显示“成功!虚拟主机已设置!”

/etc/nginx.sites-available/default:

server {
    listen 3700;

server_name myDomain.com;

location / {
    proxy_pass http://127.0.0.1;
    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;
    }
  }

奇怪的是,如果我将其更改为:

server {
    listen 80;

server_name myDomain.com;

location / {
    proxy_pass http://127.0.0.1:3700;
    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;
    }
}

并输入 sudo nginx -s reload,没有任何变化。

在我的节点应用程序中,我有:

...
var port = 3700;
...

答案1

您收到的有关成功设置的消息来自 Apache Web 服务器,该服务器已在端口 80 上运行。在您的情况下,Nginx 实际上无法绑定到端口 80。

我不太清楚您如何设置 node.js 以及 Apache 是否应该发挥作用,但如果不需要 apache2,则必须删除它,或者将其重新配置为在其他端口上运行。

相关内容