当前位置: 首页 > 知识库问答 >
问题:

在不同端口的单个EC2实例上运行多个Node js应用程序

仰欣悦
2023-03-14

这是我的节点文件

我在/上有HTML

/app上的节点应用程序


server {
    listen 80;
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name localhost;

    ssl_certificate "/etc/letsencrypt/live/xxxxx/fullchain.pem";
    ssl_certificate_key "/etc/letsencrypt/live/xxxxxxx/privkey.pem";
    # It is *strongly* recommended to generate unique DH parameters
    # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048
    #ssl_dhparam "/etc/pki/nginx/dhparams.pem";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aD$
    ssl_prefer_server_ciphers on;


        location / {
        # This would be the directory where your frontend code resides
        root /usr/share/nginx/html;
        index index.html;
        try_files $uri $uri/ =404;
        }

        location /api {
        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://127.0.0.1:3000;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        }
}

server {
    listen 80;
    listen [::]:80;
    server_name localhost;
    return 302 https://xxxxx.com;
}

我也转发了3000端口到80;

我想在这个服务器上的一个不同的端口上运行多个应用程序。

我应该为其他应用程序配置什么。

共有1个答案

邵俊才
2023-03-14

这是Nginx配置文件。

问题是你到底想要达到什么目的。

>

  • 场景:不同的域将更多的配置文件添加到NGINX中,使用不同的server_nameapp1.comserver_nameapp2.com等...每个配置应该转发到不同端口上的另一个节点应用程序。

    场景:一个域和不同的路径。乘法位置段落。例如,在现有配置文件中添加新的location/app1段落,该段落将转发到不同端口上的节点App。

  •  类似资料:
    • 问题内容: 我有多个Node应用程序(在Express框架上构建)。 现在,我将它们这样放置- 现在,我想在同一端口(例如8080)上运行这3个应用程序。那可能吗 ? 需要注意的一件事是,每个应用都有类似的通用路线- 基本上,我想这样做,就像您可以使用Apache / PHP设置一样。 因此,当您拥有LAMP堆栈时- 您可以通过-作为其他应用轻松访问它们- 问题答案: 您可以使用:

    • 我目前正在Spring Boot 2.4.0中编写一个应用程序,它需要侦听多个端口(具体来说是3个-但将来可能是4个)。这个想法是每个端口都提供不同的API供其他服务/应用程序连接到它。 所以,对于一个最小的工作示例,我会说我们有一个像这样的SpringBootApp: 现在,我想让它在3个不同的端口上监听,比如8080、8081和8082。所有人(!)对其中一个端口的请求,应由特定控制器“负责”

    • 假设我在同一个公共Docker映像上安装了一个Web服务器和一个数据库服务器,是否可以同时运行它们,就像它们在同一个虚拟机中运行一样? 它正在运行<代码>docker run吗

    • 问题内容: 问题背景 这是情况。我们正在从战争中运行模拟器servlet。我们要模拟的servlet在单台机器上有许多实例,这些实例通过端口号来区分。我们只想部署一次战争,许多港口都可以访问。 到目前为止我们所拥有的 使用Java Filter(有关web.xml,请参见下文),我们能够根据端口号转发到每个Servlet实现(端口是通过向添加额外的连接器来添加的deploy/jbossweb.sa

    • 我已经为web服务创建了10个微服务Docker,并将创建的映像推送到ECS,并使用elastic beanstalk进行部署。将所有Docker放置在单个任务定义中,并创建了一个用于应用程序级自动缩放的服务。它通过在自动缩放时复制它来创建另一个任务。 我只想为dockers应用自动缩放,而不是为任务应用自动缩放。如果一个docker受到CPU或内存负载的影响,自动缩放应该只创建特定docker的

    • 问题内容: 我正在使用使用node_redis的kue,但是我已经在会话中使用了,所以我想在特定端口上创建一个服务器,说默认值,然后在port上侦听。 我将如何做到这一点?我发现这篇文章讨论的是类似的内容,但是我并不是真的想要创建一个初始化脚本来执行此操作。 问题答案: 启动redis-server并为“ port”提供一个不同的参数,可以在命令行中完成: 例如,您也可以这样做,以便在启动时进行。