4

我刚刚在 EC2 ubuntu 服务器上部署了一个流星 js 应用程序。我永远安装 并将以下启动脚本添加到 /etc/init/meteor.conf

start on (local-filesystems)
stop on shutdown

script
        cd /home/ubuntu
        export PORT=80 MONGO_URL=mongodb://localhost27017/parties ROOT_URL=http://ec2-54-235-1-185.compute-1.amazonaws.com
        exec forever start bundle/main.js

end script

当我使用: 启动我的应用程序时sudo service meteor start,它显示:

meteor start/running, process 12481
ubuntu@ip-10-98-57-161:~$ 

但是当我在浏览器中输入公共 DNS 时,什么也没有。

所以我然后输入命令forever list,它列出了三行包含一些信息和一列日志文件。所以我然后在 vim 中打开最后一个日志文件以查看它的内容,我看到以下错误:

/home/ubuntu/bundle/programs/server/boot.js:184
}).run();
   ^
Error: MONGO_URL must be set in environment
    at Object.<anonymous> (packages/mongo-livedata/remote_collection_driver.js:32)
    at Object._.once [as defaultRemoteCollectionDriver] (packages/underscore/underscore.js:704)
    at new Meteor.Collection (packages/mongo-livedata/collection.js:66)
    at packages/service-configuration/service_configuration_common.js:8
    at packages/service-configuration.js:43:4
    at packages/service-configuration.js:52:3
    at mains (/home/ubuntu/bundle/programs/server/boot.js:153:10)
    at Array.forEach (native)
    at Function._.each._.forEach (/home/ubuntu/bundle/programs/server/node_modules/underscore/underscore.js:79:11)
    at /home/ubuntu/bundle/programs/server/boot.js:80:5
error: Forever detected script exited with code: 1

我已经尝试了大约十种不同的启动应用程序的方法,每次都遇到同样的错误。值得一提的是:当我使用以下方式运行我的应用程序时:

sudo PORT=80 MONGO_URL=mongodb://localhost:27017/parties ROOT_URL=http://ec2-54-235-1-185.compute-1.amazonaws.com node bundle/main.js

它启动了,我可以通过我的公共 DNS 访问它,但是当然,一旦我关闭我的终端,应用程序就会死掉。

有人知道我该如何解决这个问题吗?

4

3 回答 3

2

it looks to me as if you forgot the colon ´:´ in your mongourl

export PORT=80 MONGO_URL=mongodb://localhost:27017/parties ROOT_URL=http://ec2-54-235-1-185.compute-1.amazonaws.com

have you tried that?

于 2013-08-24T08:25:24.343 回答
0

在我这边,我没有.env文件,然后在添加它并指定数据库 URL 以及我将要使用的其他必要的配置凭据之后,它工作得非常好。

于 2022-01-18T06:40:19.637 回答
-1

尝试在不使用导出之前将其传递到永远:

exec PORT=80 MONGO_URL=mongodb://localhost27017/parties ROOT_URL=http://ec2-54-235-1-185.compute-1.amazonaws.com forever start bundle/main.js

它可能与权限有关,当使用启动脚本时,用户可能是具有自己的变量范围的东西。

于 2013-08-21T15:07:45.863 回答