代码之家  ›  专栏  ›  技术社区  ›  Ankit

通过nginx运行两个nodejs实例

  •  2
  • Ankit  · 技术社区  · 7 年前

    我能够得到一个节点实例,而不是两个。我不知道为什么我的第二个节点没有运行 首先我想告诉你我做了什么。

    1. 在c驱动器上下载Nginx。 文件夹包含

    形态->在此文件夹下有配置文件,即nginx。形态

    现在我想通过nginx运行两个节点实例。 我在nginx上所做的。conf文件为:

    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen 80;
    
            server_name localhost;
    
            location / {
                proxy_pass http://127.0.0.1:3000;
                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 81;
    
            server_name localhost;
            location /test {
                proxy_pass http://127.0.0.1:3001;
                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;
            }   
        }
    
    
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    
        # HTTPS server
        #
        #server {
        #    listen       443 ssl;
        #    server_name  localhost;
    
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
    
        #    ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;
    
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    }
    

    所以我的第一个Node js实例运行在 http://127.0.0.1:3000 当另一个打开时 http://127.0.0.1:3001 港口城市 这是我第一次将nginx用于节点实例。 非常感谢您的帮助。

    2 回复  |  直到 7 年前
        1
  •  2
  •   Ankit    7 年前

    因此,如果有人想通过nginx在单个端口上运行两个节点实例,那么就在nginx上运行->形态->nginx公司。conf页面只需添加以下内容

    server {
            listen 80;
    
            server_name localhost;
    
            location / {
                proxy_pass http://127.0.0.1:3000;
                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 /test {
                proxy_pass http://127.0.0.1:3001;
                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;
            }
        }
    

    现在,我的nginx服务器可以容纳2个节点js实例。

        2
  •  0
  •   scetiner    7 年前

    所以如果你有两个不同的页面,比如page1。com和第2页。com,并且它们在主机文件中设置正确,两者都使用默认端口80,并将域名设置为server\u name,如下所示;

    server {
        listen 80;
    
        server_name page1.com www.page1.com;
    
        location / {
            proxy_pass http://127.0.0.1:3000;
            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 80;
    
        server_name page1.com www.page1.com;
        location / {
            proxy_pass http://127.0.0.1:3001;
            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;
        }   
    }