Как запустить два отдельных приложения Nodejs, используя nginx и pm2 в цифровом океане - PullRequest
1 голос
/ 04 мая 2019

У меня есть два разных приложения Nodejs и говорят, что у меня есть поддомен app1.example.com и app2.example.com!

Как мне всегда прослушивать два поддоменов в порту 80?Я не могу найти источники, чтобы сделать это.Любой хороший учебник или руководство!

Я нашел это:

{
"apps" : [{
    "name"        : "worker",
    "script"      : "./worker.js",
    "watch"       : true,
    "env": {
        "NODE_ENV": "development"
    },
    "env_production" : {
        "NODE_ENV": "production"
    }
},{
    "name"       : "api-app",
    "script"     : "./api.js",
    "instances"  : 4,
    "exec_mode"  : "cluster"
}]
}

Но я не понял, как я могу запустить оба проекта на порту 80.

1 Ответ

1 голос
/ 04 мая 2019

По сути, вы можете запускать свои проекты на разных портах (не на 80) и использовать обратный прокси-сервер nginx / apache перед вашими приложениями для сопоставления их с портом 80.

Вот пример конфигурации Nginx:

server {
    listen 80;

    server_name meantodo.com;

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

(http://www.nikola -breznjak.com / blog / javascript / nodejs / using-nginx-as-a-reverse-proxy-in-front-your-node-js-application / )

Это сделает ваше приложение nodeJS на порту (1337) доступным на порту 80. Вы можете добавить несколько блоков местоположения для разных поддоменов и т. д.

Или вы можете использоватьобратный прокси-сервер Node.JS: https://github.com/nodejitsu/node-http-proxy

...