Могу ли я загрузить несколько node.js приложения под одним доменом?

#node.js

#node.js

Вопрос:

Я использую DreamHost в качестве своего провайдера, и у меня есть тарифный план VPS, позволяющий мне загружать приложения nodejs. Однако я хотел бы иметь возможность иметь несколько небольших приложений под одним доменом, например

 www.example.com/app1
www.example.com/app2
www.example.com/app3
  

Возможно ли это с Node.js ?

Ответ №1:

Вы не можете запускать несколько приложений на одном порту. Но мы можем запускать приложения на разных портах и перенаправлять URL на нужное приложение, например, с помощью nginx

 server {
  listen 80;
  root /var/www;
  server_name www.example.com;

location /app1 {
    proxy_pass http://localhost:{port}; // app1 server Comment 1
    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 /app2 {
    proxy_pass http://localhost:{port};  // app2 server Comment 2
    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;
}
}
  

Это перенаправит www.example.com/app1 на сервер app1 и www.example.com/app2 на сервер app2. Смотрите комментарии 1 и 2.

Ответ №2:

Вы не можете запускать несколько приложений на одном порту, но вы можете запускать их на разных портах и получать к ним доступ с помощью таких портов, как


www.example.com //app1 (default http port is 80 and default https port is 443 hence you don't need to specify port for the apps using port 80)
www.example.com:3000 //app2