如何在一台 NGINX 服务器上配置多个 Node JS 站点?
How to configure multiples NodeJS sites in one NGINX server?
我需要在一个 NGINX 应用程序服务器(版本 1.10.2 - RHEL 7.2)中配置多个 NodeJS 应用程序实例。
这些实例是:网站和 API 用于开发和测试环境。
有人可以帮助我吗?
谢谢
如果您已经安装了 node.js,并且您正在 运行 上安装网络服务器,那么只需选择两个不同的端口,比如一个用于生产,一个用于测试(可能是暂存)。
安装nginx后配置如下:-
server {
listen 80;
server_name example.com;
location /production {
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;
}
location /testing {
proxy_pass http://localhost:8081;
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;
}
}
此处将 example.com 更改为您的域名(如果有)或 localhost
假设您 运行 8080 上的 nodejs 生产网络服务器,您可以为其选择一个子路径,例如 localhost/production。
类似地进行测试,如果您 运行 8081 的 Web 服务器,则选择一条路径,例如 localhost/testing.
我相信这会解决你的问题。
如果您不想使用 /production 和 /testing 等 url,您可以使用不同的端口。
如果您有域 "yourdomain.com"
所以例如生产可以 运行 在 yourdomain.com 和登台(测试)可以 运行 在测试。yourdomain.com
对于此 nginx 配置将是
server {
listen 80;
server_name testing.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8081;
}
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
其中 8080 是 nodejs 生产网络服务器所在的端口 运行s
8081 正在测试 nodejs 中使用的网络服务器端口
我需要在一个 NGINX 应用程序服务器(版本 1.10.2 - RHEL 7.2)中配置多个 NodeJS 应用程序实例。 这些实例是:网站和 API 用于开发和测试环境。
有人可以帮助我吗?
谢谢
如果您已经安装了 node.js,并且您正在 运行 上安装网络服务器,那么只需选择两个不同的端口,比如一个用于生产,一个用于测试(可能是暂存)。
安装nginx后配置如下:-
server {
listen 80;
server_name example.com;
location /production {
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;
}
location /testing {
proxy_pass http://localhost:8081;
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;
}
}
此处将 example.com 更改为您的域名(如果有)或 localhost
假设您 运行 8080 上的 nodejs 生产网络服务器,您可以为其选择一个子路径,例如 localhost/production。 类似地进行测试,如果您 运行 8081 的 Web 服务器,则选择一条路径,例如 localhost/testing.
我相信这会解决你的问题。
如果您不想使用 /production 和 /testing 等 url,您可以使用不同的端口。
如果您有域 "yourdomain.com" 所以例如生产可以 运行 在 yourdomain.com 和登台(测试)可以 运行 在测试。yourdomain.com
对于此 nginx 配置将是
server {
listen 80;
server_name testing.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8081;
}
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
其中 8080 是 nodejs 生产网络服务器所在的端口 运行s
8081 正在测试 nodejs 中使用的网络服务器端口