【发布时间】:2015-07-08 16:11:17
【问题描述】:
我有兴趣针对单个 Mongo 数据库运行 Admin Meteor 应用程序和 Client Meteor 应用程序。有没有人这样做,或者知道如何在本地和生产中做到这一点?这个怎么配置,我知道有一个 MONGO_URL 可以配置的。
【问题讨论】:
我有兴趣针对单个 Mongo 数据库运行 Admin Meteor 应用程序和 Client Meteor 应用程序。有没有人这样做,或者知道如何在本地和生产中做到这一点?这个怎么配置,我知道有一个 MONGO_URL 可以配置的。
【问题讨论】:
您可以通过在 shell 中运行以下命令将全局 MONGO_URL 设置为指向特定的运行实例和数据库:
export MONGO_URL=mongodb://localhost:27017/your_db
(将 localhost:27017 替换为任何主机名/端口 # -- 27017 是 Mongo 运行的默认端口 -- 并将 your_db 替换为相关数据库)。这将覆盖默认的流星连接。您可以在this question 和the documentation 中查看更多相关信息;您可以验证它是否像这样工作:
$ echo $MONGO_URL
mongodb://localhost:27017/your_db // response
您还可以使用connection option of Mongo.Collection() 控制给定集合的连接,但请注意,这不适用于第三方集合(如那些包外的集合;例如,如果使用 Accounts 包,则为用户集合 --请参阅 this question 了解为什么这不起作用)。
对于本地与生产,无论哪种方式,您都需要启动并运行 MongoDB 实例 (instructions in MongoDB's docs)。您可以使用 MONGO_URL 在本地执行此操作,但在生产中执行此操作将取决于您的生产设置 - 如果您具有 CLI 访问权限,则可以按照上面链接的 Meteor 文档中的说明进行操作。
设置好环境变量后,部署这两个应用程序应该很简单。您可以从this Quora thread 了解更多关于如何执行此操作的信息,但简短的回答是,您可以通过管理 IP 地址部署到不同的子域,也可以通过配置 PORT env 变量部署到不同的端口,如上面链接的文档中所示:
env PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node main.js
【讨论】: