在 nginx 上托管多个 node.js 个实例

Hosting multiple node.js instances on nginx

大家好,我有一台 Rasberry Pi 4,我希望使用 Nginx 托管多个 node.js 网站,现在我有一个运行良好并连接到 Cloudflare 的实例。

当前 'default' 文件在下方

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        server_name example.com www.example.com;

        location / {
                proxy_pass http://localhost:5085;
                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;
        }
}

现在我需要在这里再托管 2 个网站,它们是 - example1.com 在 localhost:3000 上运行 & example2.com 在 localhost:4000

上运行

在此之后,我又遇到了一个疑问,我需要将这两个添加到 Cloudflare。

在图一中,我只需要将我的 public IP 地址作为端口转发放在端口 80 这是一张图片

现在如何将主机连接到 cloudflare。有人可以帮忙吗?

您只需复制当前的 nginx 服务器配置并将 server_name 属性 更改为 server_name example2.com 并相应地更改 proxy_pass 目标。

它看起来像这样:

# example.com server/proxy
server {
   listen 80 default_server;
   listen [::]:80 default_server;

   server_name example.com www.example.com;

   location / {
       proxy_pass http://localhost:5085;
       # ...
   }
}

# example2.com server/proxy
server {
   listen 80;       # we removed the default_server tag here   
   listen [::]:80;  # because it can only be used once  

   server_name example2.com www.example2.com;

   location / {
       proxy_pass http://localhost:1234;
       # ...
   }
}