如何解决如何在 linode 端口 80 上部署 nodejs 应用程序?
我正在使用 Linode 实例 (Ubuntu 20) 来部署我的网站。
使用默认返回 IP_ADDRESS
到默认 Nginx 页面和 IP_ADDRESS:3000
到我的实际应用程序(当然它正在运行时)运行 Nginx 服务器。
我想允许用户直接使用 IP_ADDRESS/ 访问我的应用程序 现在,为此我修改了两件事-
-
/etc/Nginx/sites-available/default
- 将默认值更改为 root/root/APP_NAME/
-
/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 举报,一经查实,本站将立刻删除。