Meteor部署到子文件夹时出现nginx错误

时间:2014-09-28 11:38:30

标签: nginx meteor iron-router

我使用nginx在Amazon EC2 Ubuntu上部署了meteor app(bundle)。我需要在example.com/myapp上运行我的应用程序。 我用过:

export ROOT_URL='http://example.com/myapp'

我的nginx的一部分:

server {
    listen 80;
    server_name: example.com;

    location /myapp {
        proxy_pass http://localhost:3000;
    ...

但我收到错误:

Exception in defer callback: Error: Oh no! No route found for path: "/myapp/"

GET http://example.com/cfs/servertime 404 (Not Found)
GET http://example.com/font/myfont 404 (Not Found)

如何解决?

2 个答案:

答案 0 :(得分:1)

关键是nginx,它可以帮助你解决它的服务器端路由位,但是它无法帮助客户端路由(因为浏览器会计算这个位)。

除了将客户端路线添加到/myapp/之前,除此之外别无选择。

您可以按原样保留服务器端路由,因为nginx会为您路由它们。

答案 1 :(得分:1)

是的,在铁路由器中,您可以使用变量作为前缀路径。在此处查看我的用法https://github.com/c316/give/blob/master/both/router/routes.js。基本上,您只需在路径的数据部分声明变量,然后在路径中使用:variableName。