Odoo 如何下载指定版本源码 && .cfg配置参数

复制代码
# 我们使用应用市场上的模块的时候,经常会碰到模块只兼容特定版本,要将模块兼容到自己版本来的时候,就需要下载它原兼容odoo的版本运行。
# 这里的-b后面加的11.0就是它的版本。在git中也就是分支
git clone -b 11.0 --single-branch --depth 1 https://github.com/odoo/odoo.git
# 生成配置文件
./odoo-bin --save --config myodoo.cfg --stop-after-init
# 启用协程处理bus.bus(也就是Discuss聊天)# 注意:evented必须跟在后面。启动后longpolling_port端口独立开来
./odoo-bin evented -c myodoo.cfg
# 一些配置内容
db_host # 数据库服务器地址
db_port # 数据库端口
db_name # 连接哪个数据库名
db_user # 数据库用户登录名
db_password # 登录密码
http_port # 浏览器访问时用的端口
log_level = debug # 设置logging模块的输出最低级别,默认是info
logfile = odoo.log # 不在控制台输出日志信息,会输出到该文件中去
workers # 多进程模式处理用户请求
proxy_mode # 是否开启代理模式,如果是docker模式负载均衡的话建议不用开启代理莫斯,详情需要往后翻阅
longpolling_port # 指定Discuss聊天室端口


# 顺带设置一下odoo中的时区
# 文件:odoo/odoo/__init__.py
# 修改:os.environ['TZ'] = 'UTC'
os.environ['TZ'] = 'Asia/Shanghai'

# 快速创建模块
./odoo-bin scaffold my_module


# proxy_mode 开启代理模式的用处:
# 1.odoo业务处理和chat聊天完全独立
# 2.配置中http_port(8069)为业务处理端口,longpolling_port(8072)为chat聊天端口
# 3.因为两个端口分开的,所以你做nginx(或者其他代理)的时候需要对8072端口进行代理
location /longpolling/ {
        proxy_pass        http://127.0.0.1:8072;
}
# 4.因为在不同端口,所以如果你对session进行了处理的话(session转储在redis中),你需要设置两个端口共用一个session,不然你的程序就会一直提示过期
# 该文件是处理服务启动的时候
odoo/odoo/service/server.py
# 里边有CommonServer,是命令处理服务,服务默认端口取的是self.port = config['http_port']
# 还有其他服务继承它,然后修改了apprun和端口:
# class ThreadedServer(CommonServer):
# class PreforkServer(CommonServer):
# class GeventServer(CommonServer):  # 这就是8072端口的服务

# session in redis处理
http.Root.session_store = session_store  # 返回缓存处理类。
# 也就是继承from werkzeug.contrib.sessions import SessionStore
http.session_gc = session_gc        # 收尾处理。这里给一个空函数就行,因为redis自带过期删除功能
# 以上两个步骤只是处理了config['http_port'](8069)的端口
# 要处理GeventServer最直接办法就是直接修改Root类的session_store方法
复制代码

 

posted @   看一百次夜空里的深蓝  阅读(552)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示