我在端口4000上的app.example.com上有一个节点js应用程序成功运行。现在我想在端口5010上的www.example.com上运行另一个节点js应用程序。我该怎么办?
我的尝试。在sites-available文件夹中创建两个文件。一个是www.example.com,一个是app.example.com 文件的内容。
app.example.com
server {
listen 80;
server_name app.example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
}
}
如果我独自一人。有用。
现在添加
www.example.com
server {
listen 80;
server_name www.example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:5010;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
}
}
两个节点应用程序都在相应端口上永远运行。 现在,无论我给出什么网址都没关系,例如app.example.com或www.example.com它给出了相同的应用程序,即Hello World。如何在两个不同的端口上实现两个不同的应用程序?
修改 如果我给www.example.com:5010,它就会发生,但我想要它而不必输入5010.我将如何实现这一目标?
答案 0 :(得分:1)
这是任何地方都没有给出的东西。您必须将启用站点的文件链接到ngnix.conf中。您的网站启用的文件,即www.domain.com,app1.domain.com app2.domain.com将无法使用。除非你将它们包含在nginx.conf中。 像这样的东西。
update
您的app.example.com和www.example.com网站可用文件看起来就像发布的那样。 最后从节点应用程序中提到的端口运行节点应用程序。不要忘记在app.domain.com和www.domain.com上使用相同的端口号,否则会出现502 Bad gateway错误。 之后,sudo服务nginx重新启动你很高兴。