我正在研究在同一服务器中拥有多个 redmine 实例的最佳方法(基本上我需要为每个 redmine 组创建一个数据库)。
到目前为止,我有 2 个选择:
- 为每个组部署一个 redmine 实例
- 部署一个具有多个数据库的 redmine 实例
我真的不知道在这种情况下最好的做法是什么,我看到有些人在这两种情况下都这样做。
我已经使用 nginx 和乘客测试了多个 redmines(3 个实例)的部署。它运作良好,但我认为在很多情况下它可能不可行。每个应用程序需要大约 100mb 的 RAM,并且随着请求的增加,它往往会为应用程序分配更多的进程。如果我们有很多实例,这种情况似乎很糟糕。
选项 2 似乎是合理的,我想我可以使用 rails 环境来实现它。但我认为存在一些与会话相关的安全问题(我认为站点 A 的用户在 A 中进行身份验证后可以在站点 B 上执行操作)。
这种情况有什么好的做法吗?在这种情况下采取的最佳做法是什么?
与此相关的其他要求是:我们必须能够在不中断其他实例的情况下创建或关闭 redmine 实例(例如,我们应该避免服务器重启......)。
感谢您的任何建议,对不起我的英语!
编辑:
我的解决方案:我为每个组使用了一个 redmine 实例。我使用 nginx+unicorn 独立管理每个实例(因为乘客不允许我独立管理每个实例)。