单个Nginx服务器上的多个流星应用程序

时间:2015-01-21 22:13:13

标签: deployment nginx meteor server meteor-up

我在我的服务器上设置了nginx,我可以让我在不同端口上运行的meteor应用程序运行在不同的文件夹中。'这是配置:

server {
  listen                *:80;

  server_name           meteor.example.com;

  access_log            /var/log/nginx/meteor.example.com.access.log;
  error_log             /var/log/nginx/meteor.example.com.error.log;

  location /app1 {
    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 X-Forwarded-For $remote_addr;
  }
  location /app2 {
    proxy_pass http://127.0.0.1:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header X-Forwarded-For $remote_addr;
  }

问题在于,当我尝试在任一应用程序中导航时,网址的文件夹部分会被重写。

例如,如果我在meteor.example.com/app1,并且我尝试导航到联系页面,则网址会更改为meteor.example.com/contact而不是meteor.example.com/app1/contact

此外,当我转到meteor.example.com/app1时,我的应用程序中有404,因为路由器似乎认为我正在尝试导航到我的应用程序中名为app1的页面。

我已将app1上的ROOT_URL设置为http://meteor.example.com/app1,但这似乎无法解决此问题。

同样,我可以通过转到meteor.example.com/[appname]来正确访问每个应用,但我在应用中获得了404,因为它认为[appname]是我尝试导航到的页面。

任何帮助都将不胜感激,谢谢。

如果这是有用的信息,我使用meteor up作为我的部署工具。

0 个答案:

没有答案