如何在 Ubuntu 14.04 上设置 Node.js 生产应用程序
How To Set Up a Node.js Application for Production on Ubuntu 14.04
我使用 Node JS、Express 和 MongoDb 开发了 Rest API。
我已经将 MongoDB 安装到一台机器上 Ubuntu 服务器 OS 和 Ubuntu 服务器 OS 的机器上的节点 JS 应用程序。
现在我需要使用反向代理部署到生产环境。
我以 post 为例:
Deploy Node JS
现在我的问题是:使用Nginx的反向代理服务器必须部署在单独的机器上吗?相反,Nginx 可以使用 Apache 吗?
感谢您的帮助
您可以在同一个 machine.So 上部署 nginx,您的设置将是 nginx 侦听机器的 80 端口以接收传入请求,并按照您在 nginx 配置中指定的方式将所有请求重定向到您的应用程序。
如果您在同一台机器上部署 nginx 并拥有应用程序 8080。您可以这样做。
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
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;
}
}
如果你可以配置 apache 将请求重定向到你的应用程序,你可以用 apache 替换 nginx。(但我没有使用过 apache,所以按照我上面的配置 works.but 如果你需要一些帮助,你可以阅读这篇 link)
我使用 Node JS、Express 和 MongoDb 开发了 Rest API。 我已经将 MongoDB 安装到一台机器上 Ubuntu 服务器 OS 和 Ubuntu 服务器 OS 的机器上的节点 JS 应用程序。 现在我需要使用反向代理部署到生产环境。 我以 post 为例: Deploy Node JS
现在我的问题是:使用Nginx的反向代理服务器必须部署在单独的机器上吗?相反,Nginx 可以使用 Apache 吗? 感谢您的帮助
您可以在同一个 machine.So 上部署 nginx,您的设置将是 nginx 侦听机器的 80 端口以接收传入请求,并按照您在 nginx 配置中指定的方式将所有请求重定向到您的应用程序。 如果您在同一台机器上部署 nginx 并拥有应用程序 8080。您可以这样做。
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
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;
}
}
如果你可以配置 apache 将请求重定向到你的应用程序,你可以用 apache 替换 nginx。(但我没有使用过 apache,所以按照我上面的配置 works.but 如果你需要一些帮助,你可以阅读这篇 link)