使用 nginx 为多个 nodejs 站点提供服务,我应该在哪些端口上启动应用程序

使用 nginx 为多个 nodejs 站点提供服务,我应该在哪些端口上启动应用程序

我有来自不同域的多个 nodejs 应用程序,我使用 nginx 从同一台服务器提供服务。我目前在不同的端口(例如 5000、5001、5002 等)上启动每个应用程序。然后使用 nginx proxy_pass 从 ssl 端口 443 为它们提供服务,如下所示:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain.com;

    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2;
    include snippets/ssl-params.conf;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:5000/;
        proxy_ssl_session_reuse off;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }
}

我正在为每个域/应用程序设置一个类似的块。

我猜我有几个问题:

  1. 我应该在哪些端口上启动应用程序以避免冲突。是否有我应该使用的标准端口?
  2. 这是我应该做的方式吗?或者有更好的方法来解决这个问题。

我读到 49151 以上的端口可供任意使用。我是否应该在 49151 以上的端口上启动我的应用程序?

任何指导都将不胜感激。我是一名 Web 开发人员,在服务器端方面没有太多经验。

答案1

ss -lnt您可以通过运行服务器命令行来检查当前正在使用的端口。然后您可以选择任何未使用的端口。

最好从应用程序服务器默认使用的端口号开始,然后从该端口号开始增加。

由于这些端口是在特定主机上使用的,因此除了已使用的端口之外,实际上没有任何限制。

相关内容