0

问题

我正在尝试在单个服务器 Web 上部署多个Meteor实例。

每个项目都有自己的域名(比如 'A' -> 'A.com', 'B' ..),但服务器只有一个 Web 端口:80。所以想用Nginx跟着这篇文章

部署

我正在使用meteor-up(版本mupx)来部署每个应用程序。这是裁剪的示例mup.json

{
  "appName": "A",
  "env": {
    "PORT": "3001",
    "ROOT_URL": "http://www.A.com"
  },
}

Nginx

这是我的版本/etc/nginx/sites-available/A.com.conf

server {
  listen                *:80;

  server_name           A.com;

  access_log            /var/log/nginx/app.dev.access.log;
  error_log             /var/log/nginx/app.dev.error.log;

  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 X-Forwarded-For $remote_addr;
  }
}

结果

对于每个域,当我调用时:

  :80   -> Ngninx Welcome page
  :3001 -> A.com
  :3002 -> B.com
 ..

调用时如何根据域名获得正确的站点whatever:80

4

1 回答 1

0

所以解决方案是简单地添加服务器名称的所有可能版本,而不仅仅是域名。

像这样

/etc/nginx/sites-available/A.com.conf

server {
  listen                *:80;

  server_name           A A.com *.A.com;

  access_log            /var/log/nginx/app.dev.access.log;
  [...]
于 2016-04-04T04:22:41.640 回答