3

我如何在与 OpenERP 服务器不同的机器上运行 OpenERP Web 6.1?

在 6.0 中这很简单,有 2 个配置文件和 2 个服务器(服务器和“Web 客户端”),它们通过 TCP/IP 进行通信。

我不确定如何为 6.1 设置类似的东西。

我无法找到有关此主题的有用文档。他们仍然通过 TCP/IP 进行通信吗?如何配置“Web 客户端”以使用不同的服务器机器?我想了解这里的新概念。

4

1 回答 1

3

tl;博士回答

它仅用于调试,但您可以。使用openerp-webopenerp-web项目中包含的启动脚本,您可以从源代码安装它。它没有单独的安装程序,因为它不适用于生产。您可以传递参数来设置要连接的远程 OpenERP 服务器,例如,等。使用来查看选项。--server-host--server-port--help

长答案

OpenERP 6.1带来了一系列架构更改,允许:

  • 由于改进的无状态性,并行运行许多 OpenERP 服务器进程。这使得分布式部署变得轻而易举,并提供负载平衡/故障转移/高可用性功能。它还允许 OpenERP 从多处理器/多核硬件中受益。
  • 将 Web 界面部署为常规 OpenERP 模块,使您不必部署和维护两个单独的服务器进程。当它嵌入运行时,Web 客户端还可以直接 Python 调用服务器 API,避免不必要的 RPC 编组,从而获得额外的性能提升。

演示文稿中更详细地解释了此更改及其背后的所有技术原因。

使用openerp-webopenerp-web项目中提供的脚本的 Web 客户端仍然可以使用独立模式,但它用于调试目的而不是生产。它默认以单线程模式运行(参见启动参数),以便序列化所有 RPC 调用并使调试更容易。除了较慢之外,此模式还会破坏所有具有 Web 部件的模块,除非所有常规 OpenERP 插件也被复制到 Web 进程中。即便如此,有些还是会被破坏,因为它们可能仍然部分依赖于嵌入式模式。--multi-thread--addons-path

现在,如果您只是在寻找分布式部署模型,请停止寻找:只需运行多个 OpenERP(服务器)进程和完整的堆栈。看看上面提到的演示文稿,开始使用 Gunicorn、WSGI 等。

注意:由于这些严重的限制及其相对无用(相对于维护成本),Web 客户端的独立模式已在 OpenERP 7.0 中完全删除(请参阅启动板上的 rev, 3200) 。

于 2012-10-26T08:28:15.487 回答