Nginx 无法在我的 VPS 上运行

Nginx 无法在我的 VPS 上运行

第一个想法是在我的 VPS 上设置一个 Node.js 服务器,因此我遵循了这篇文章:在生产环境中设置 node js

但是在本文中建议使用此命令: sudo setcap cap_net_bind_service=+ep /usr/local/bin/node以确保我的节点应用程序可访问,而无需在 url 后提供 3000 端口。

然后我继续写这篇文章在 ubuntu 上安装 nginx允许多个主机访问我服务器上的不同应用程序。当我安装 nginx 并尝试运行该地址时,它应该显示“欢迎使用 nginx”页面。但是它仍然指向我使用 pm2 包运行的节点应用程序。我怀疑这是由于我在第一篇文章中执行的 setcap 造成的。有人能告诉我如何反转这个 setcap 命令,以便我可以继续设置 nginx 吗?

答案1

听起来你仍然在端口 80 上运行 NodeJS。你一次只能在一个端口上运行一个东西。你需要:

  • 将此节点应用程序移回高端口。这意味着将您的端口更改.listen(80, ...).listen(8000, ...)或其他端口。
  • 让 Nginx 反向代理回到该端口:

    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://localhost:8000;
            proxy_set_header Host $host;
        }
    }
    

你做的事情setcap并不需要需要逆转。这不是阻止 nginx 在端口 80 上加载的原因。

相关内容