我刚刚在 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 访问它,但是当然,一旦我关闭我的终端,应用程序就会死掉。
有人知道我该如何解决这个问题吗?