微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 linode 端口 80 上部署 nodejs 应用程序?

如何解决如何在 linode 端口 80 上部署 nodejs 应用程序?

我正在使用 Linode 实例 (Ubuntu 20) 来部署我的网站。

使用认返回 IP_ADDRESSNginx 页面IP_ADDRESS:3000 到我的实际应用程序(当然它正在运行时)运行 Nginx 服务器。

我想允许用户直接使用 IP_ADDRESS/ 访问我的应用程序 现在,为此我修改了两件事-

  1. /etc/Nginx/sites-available/default - 将认值更改为 root /root/APP_NAME/
  2. /etc/Nginx/Nginx.cong - 将用户www-data 更改为 root

现在,它的作用是在 plain text 中提供我的 app.js 文件,而不是实际提供应用程序,而不管我是否使用 node app.js 启动我的应用程序。

解决方法

您不需要将默认值更改为 root /root/APP_NAME。当您这样做时,NginX 会将您的 NodeJS 应用程序文件夹中的文件作为静态文件提供。

您需要配置 NginX 以将来自端口 80 的请求转发到 NodeJS 应用程序。

server {
    listen 80;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://127.0.0.1:3000;
    }
}

本教程逐步说明:https://hackernoon.com/configure-nginx-s-a-reverse-proxy-for-your-nodejs-application-9tk032e8

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。