将 Meteor 应用程序部署到 Elastic Beanstalk
Posted
技术标签:
【中文标题】将 Meteor 应用程序部署到 Elastic Beanstalk【英文标题】:Deploy Meteor App to Elastic Beanstalk 【发布时间】:2015-09-21 20:29:14 【问题描述】:我们正在开展一个项目,我们正在寻找在 Elastic Beanstalk 上部署我们的流星应用程序,这并不容易,我们在谷歌上搜索认真寻找设置项目的正确方法。有人可以帮助我们提供一些说明或相关文章。 提前致谢,
最好的,
【问题讨论】:
到目前为止你还没有什么?你必须给我们一些东西......应用程序的结构等。 嘿,感谢您的关注,这是一个投票应用程序,现在我们正处于我们国家的选举年,所以我们决定现在就使用 angular-meteor 和 ionic 开展这个项目我们只想知道如何使用正确的设置进行部署,我们在 mongolab 上有 mongoDB。所以我们只希望 nodejs 实例以正确的方式运行 我在这里做了一个分步指南:***.com/a/38580848/2010764 【参考方案1】:可以将其部署为运行 Meteor 构建过程所需的包。
在您的应用目录之外
meteor build --directory /path/to/builddir
这将反过来创建一个 nodejs 应用程序,然后您可以将其运送到 AWS EB(以 tar 或任何形式)。
使用 EB,您可以指定一些要运行的命令,然后这些命令将允许您将 EB 上的 Meteor 应用程序作为独立应用程序运行。这很重要,因为 EB 允许您指定运行 NPM 的路径。
cd bundle/programs/server && npm install(确保 Fibers 等正在运行)
指定节点路径:bundle/main.js
设置环境变量 环境端口='80' env ROOT_URL='http://www.appname.com'
所有这些都完成后,尝试部署。
【讨论】:
谢谢你!我们正在努力,我们将在这里更新我们使用 EB 的经验。【参考方案2】:在此处努力部署 Meteor 应用程序。 (流星@1.3.2.4) 我认为@Flanamacca 的回答基本正确,但想补充一些细节。
在bundle/
中添加 package.json,如下所示。
"name": "myapp",
"version": "0.0.1",
"scripts":
"prestart": "cd programs/server && npm install",
"start": "node main.js"
并创建bundle/.ebextensions/whatever.config
喜欢...
option_settings:
- option_name: PORT
value: 8081
- option_name: MONGO_URL
value: mongodb://admin:passwd@mongo-server:27017/my-db-name
- option_name: ROOT_URL
value: http://myapp.some-val.region-name.elasticbeanstalk.com
和eb init
和eb deploy
进行部署
【讨论】:
如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review @diegochavez,进展如何?你能分享一些东西吗?尽管部署到/var/app/current
,但仍然无法在这里工作。它需要下划线。不知道该怎么办。配置似乎很脆弱,很难知道日志文件的内容。
它现在在这里工作。因为关于 METEOR_SETTINGS 有一个错误,我做了一个 workarround as like this以上是关于将 Meteor 应用程序部署到 Elastic Beanstalk的主要内容,如果未能解决你的问题,请参考以下文章
将 Meteor 部署到 Google App Engine 2017
MongoDB / Meteor / 将 MONGO_URL 导出到已部署的应用程序
MongoDB / Meteor / 将 MONGO_URL 导出到已部署的应用程序
将 Meteor 应用程序从 OS X 部署到 Linux 会导致 bcrypt 问题