修改监听端口
–http-port=(或-p)参数可以修改实例的监听端口(默认端口 8069),不同的端口可以让我们在同一台机器上运行多个实例。
“ 注意: Odoo 11 的修改在 Odoo 11 中引入–http-port 参数以替代此前版本使用的–xmlrpc-port”下面就可以做个尝试,打开两个终端,第一个中输入
~/odoo-dev/odoo/odoo-bin --http-port=8070
第二个中输入
~/odoo-dev/odoo/odoo-bin --http-port=8071
此时就在同一台机器上使用不同端口运行了两个 Odoo 实例, 这两个实例可以使用同一个数据库或不同数据库。这取决于我们使用的配置参数,并且两个端口上也可以运行相同或不同版本的Odoo。
“ 小贴士: 不同 Odoo 版本必须使用不同的数据库。尝试在不同版本上使用相同数据库将无法正常运行,因为各大版本采用了不兼容的数据库模式。 ”
数据库选项
进行 Odoo 开发时,经常会使用多个数据库,有时还会用到不同版本。在同一端口上停止、启
动不同服务实例,或在不同数据库间切换,会导致网页客户端会话异常。因为浏览器会存储会话的Cookie。
在浏览器中使用私有模式访问实例可以避免这一问题。另一优良实践是在服务实例上开启数据库过滤器,这样可以确保实例仅允许对指定数据库的请求,而忽略其它请求。
“ 注意: Odoo 11 的修改从 Odoo 11 开始, –database(或-d)参数可接收逗号分隔的多个数据库名,设置–database 参数时也会自动设置–db-filter 参数,这样仅有这个数据库才能为服务实例使用。对于Odoo 11 之前的版本,我们需要使用–db-filter 来限制可访问的数据库。 ”
–db-filter 可限制 Odoo 实例所能使用的数据库。它接收一个正则表达式来过滤可用数据库名,要精确匹配一个名称,表达式需要以^开头并以$结束。例如,仅允许 testdb 数据库,我们可以使用如下命令:
~/odoo-dev/odoo/odoo-bin --db-filter=^testdb$
使用–database 和–db-filter 参数来匹配同一数据库是一个良好的实践。事实上从 Odoo 11 开
始默认会为–database 设置对应的–db-filter。