我在AWS EC2实例上运行了一些Meteor应用程序。
除非我将bundle -zxvf bundle.tgz捆绑到/ bundle目录中,否则一切正常。
该应用程序不像在meteor.com上那样进行热部署。我必须重新启动服务器。
这是我的服务脚本
从运行级别开始[2345]
停在运行级别[-2345]
respawn
重生限制10 5
脚本
APP_DIR = /家庭/ Ubuntu的/束
LOG_FILE =的/ var /数/ app.logexport PORT = 80 export
MONGO_URL = mongodb的:// somelogin:fakepasssword @ somedomain:1231231 / app_db
导出ROOT_URL = http://somedomain.com
/ usr / bin / node“$ APP_DIR / main.js”2>& 1>> $ LOG_FILE
结束脚本
有什么想法吗?
答案 0 :(得分:2)
部署的应用(通过meteor bundle
制作)不会进行热门代码更改。您必须更新文件,然后停止并重新启动节点进程。
你可以使用类似永远的东西让它们继续运行,然后执行forever restart
让它们运行新代码
要永远使用,您可以使用类似以下内容的脚本:
APP_DIR=/home/ubuntu/bundle
export PORT=80
export MONGO_URL=mongodb://somelogin:fakepasssword@somedomain:1231231/app_db
export ROOT_URL=http://somedomain.com
forever start "$APP_DIR/main.js"
然后,当您在/home/ubuntu/bundle
更新文件时,只需使用forever restart
而不是forever start
执行相同的操作。
答案 1 :(得分:0)
了解https://github.com/matb33/meteor-ec2-install内部的一些见解。
每当我部署和节点重新启动时,所有连接的客户端都会获得热代码推送。我也正在进行适当的部署......也许热门代码推送功能的一部分不会延续,例如Sessions,我不确定。