基于子域的RocketChat数据库连接

时间:2017-08-03 17:08:22

标签: mongodb amazon-web-services rocket.chat

我们在AWS上托管了RocketChat,我有两个问题,不确定是否可能。无法在文档上找到任何内容。

  • 将数据库和应用程序服务器彼此分开

  • 根据网址

  • 中的子域连接到特定数据库

有什么想法吗?

干杯

1 个答案:

答案 0 :(得分:3)

您绝对可以从Rocket.Chat服务器上单独运行Mongodb服务器。

基于域进行路由。您只需要为希望运行Rocket.Chat的每个子域运行一个Rocket.Chat实例。

然后,当启动这些域的实例时,包括环境变量,如:

# subdomain1
PORT=3001
MONGO_URL=mongodb://ip-to-mongo-host:27017/subdomain1?replSet=rs0
MONGO_OPLOG_URL=mongodb://ip-to-mongo-host:27017/local?replSet=rs0

# subdomain2
PORT=3002
MONGO_URL=mongodb://ip-to-mongo-host:27017/subdomain2?replSet=rs0
MONGO_OPLOG_URL=mongodb://ip-to-mongo-host:27017/local?replSet=rs0

当然,假设您正在以replicaset模式运行mongodb。对于Rocket.Chat我肯定会推荐。特别是当你去扩展实例以处理额外的负载时。

然后在您的反向代理中只需路由:

  • subdomain1 - > 127.0.0.1:3001
  • subdomain2 - > 127.0.0.1:3002