node.JS / Django -配置Apache / NGINX从location运行



我使用Apache作为我的前端VPS/NGINX作为后端VPS的node.js/django应用程序与react.js前端。

我正试图从相同的VPS运行我的应用程序,但从不同的位置:例如:

https://myapps/app1
https://myappps/app2

以前我通过在应用程序的路由器中添加位置来解决这个问题-但是我不确定这是否是最好的方法。我实际上可以在NGINX或Apache的VPS配置中添加位置吗?

# nginx.default
server {
listen 8020;
server_name example.org;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static {
root /opt/app/client/build/;
}
}

如果你正在运行两个节点应用程序,它可以使用这个NGINX配置。只要确保app1和app2在不同的端口上。

server {
listen 80;
server_name localhost;
location /app1 {
proxy_pass http://127.0.0.1:5000;
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 /app2{
proxy_pass http://127.0.0.1:5001;
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;
}
}

编辑:这就是我有多个站点运行的方式*注意:服务器名称应设置为域,但如果您没有访问域,请将其设置为IP:PORT如下例所示!服务器名不能是本地的原因是它需要是公共的才能访问。在我的用例中,网站1的server_name是website1.com然后网站2的server_name是website2.com(我的域名)

server {
listen 5000;
//APP 1
server_name 10.0.0.1:5000;
location /{
proxy_pass http://127.0.0.1:5000;
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;
}
}

server {
listen 5001;
//APP 2
server_name 10.0.0.1:5001;
location /{
proxy_pass http://127.0.0.1:5001;
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;
}
}

最新更新