我需要在一个NGINX应用服务器(版本1.10.2 - RHEL 7.2)中配置NodeJS应用程序的多个实例。 这些实例是:用于开发和测试环境的Web站点和API。
有人可以帮助我吗?
谢谢
答案 0 :(得分:1)
如果您已经安装了node.js,并且您正在运行webserver,那么只需选择两个不同的端口,例如一个用于生产,一个用于测试目的(可能是暂存)。
安装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 production webserver,您可以为其选择 localhost / production 的子路径。 类似地,对于测试,如果您在8081运行Web服务器,则选择路径,例如 localhost / testing 。
我相信这会解决你的问题。
如果您不想使用/ production和/ testing等网址,可以使用不同的端口。
如果您有域名" yourdomain.com" 所以例如生产可以在yourdomain.com上运行,并且暂存(测试)可以在testing.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生产网络服务器运行的端口
和8081正在测试nodejs中使用的webserver端口