Nginx不侦听端口3000

unhi4e5o  于 2022-11-28  发布在  Nginx
关注(0)|答案(1)|浏览(230)

我有一个Nuxt应用程序,我试图配置Nginx,当我使用curl localhost:3000时,我可以看到我的网站标签和状态200,但我无法打开我的网站与域名,它需要加载像2分钟,然后它会显示我“此网站无法到达“我做了一个错误日志,这是在错误日志

[error] 72792#72792: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.68.50.201, server: domain.com , request: "GET / HTTP/1.1", upstream: "http://[::1]:3000/", host: "domain.com"

我尝试使用这个命令netstat -tulpn来确保nginx正在侦听。

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      70267/node
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      72791/nginx: master
tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      773/mysqld
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      773/mysqld
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      72791/nginx: master
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      61184/systemd-resol
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      689/sshd: /usr/sbin
tcp6       0      0 :::443                  :::*                    LISTEN      72791/nginx: master
tcp6       0      0 :::80                   :::*                    LISTEN      72791/nginx: master
tcp6       0      0 :::22                   :::*                    LISTEN      689/sshd: /usr/sbin
udp        0      0 127.0.0.53:53           0.0.0.0:*                           61184/systemd-resol

这是我的nginx配置

server {
        listen 443 ssl ;
        listen [::]:443 ssl ;
        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;
        server_name domain.com www.domain.com;

        root /path/to/my/front-app;

        error_log /var/log/nginx/nuxt.error.log;

        index index.html index.htm;

        location / {
        proxy_pass http://localhost:3000;
        include /etc/nginx/proxy_params;
        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;
                 listen [::]:80;
                  server_name myServerIp;
                 return 301 $https://myServerDomain;
                }
wpx232ag

wpx232ag1#

我会在这里写一个答案,主要是因为我会觉得在评论布局/展示方面太局限了。请不要把它本身当作一个确定的答案。
(also,OP直接联系了我,因此我在这里的努力)
首先,我将从迁移到最新版本的Nuxt(v3.0 stable)而不是RC开始。
然后,我将再次检查我使用的是节点v18,因为这是LTS,您应该使用LTS。
我将开始在本地调试应用程序,因此使用yarn build && yarn preview。如果运行良好,那么问题可能不是来自Nuxt。
(我也推荐yarn或PNPM作为包管理器,而不是npm,因为在安装任何NPM包时,速度+错误的明确性)
然后,您可以尝试将您的应用托管在Node.js-powered PASS(如Render.com或Heroku)上。这样,您就可以将VPS的配置留给其他人来管理,并将主要精力放在您的应用上。请遵循官方指南available here
如果这起作用,那么它肯定不是一个Nuxt的问题。
我对Nginx的部分有点生疏,所以我不确定能像以前那样快速地帮助完成这部分。
我的主要问题是,“您真的需要管理自己的服务器吗?”
如果没有,那么您可以将注意力集中在代码本身,而将部署部分放在一边,特别是如果部署占用了您2周的时间并且没有带来很多价值的话。
如果这是你真正关心的事情,那么第一步就是仔细检查以下几点:

  • 尝试将一个简单的.html文件公开到您的域名,从www.yourcoolwebsite.com访问它
  • 尝试公开Node.js应用程序,并呈现view以仔细检查Node.js部分
  • 如果上面的2个工作得很好,你的Nuxt应用程序应该也工作得很好!

在这里,你试图实现太多的事情在同一时间,你需要继续通过消除和调试与你知道/不确定.
在不隔离的情况下修复包含各种变量的问题非常耗时且效率低下。

相关问题