ubuntu服务器上极简部署odoo18
本次源码启动,未用 docker 与 持续集成 持续发布 思想,仅为入门级体验
一、运行环境安装
安装 anaconda
查看安装列表: https://repo.anaconda.com/archive/
找到最新版,下载并安装,例如:
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
sh Anaconda3-2024.10-1-Linux-x86_64.sh
注意安装目录到:/usr/local/anaconda3/, 这样所有的用户都可以使用。
安装宝塔 bt
宝塔安装 postgresql15,python3
关闭防火墙
sudo ufw disable
安装下 git
sudo apt install git -y
安装相关依赖
sudo apt install python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev libpq-dev libjpeg-dev
二、 开始部署源代码
cd ~
# 使用您指定的阿里云 Codeup 仓库 (SSH 协议)
git clone git@codeup.aliyun.com:****************.git odoo18# 如果 SSH 方式遇到权限问题,可改用 HTTPS 协议(需要账号密码)
# git clone https://codeup.aliyun.com/65420aff31b5b6a2396d290c/HRMS/ai-hrms.git odoo18cd odoo18
# 安装虚拟环境工具
sudo apt install python3.12-venv -y
# 创建 Python 虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 安装 Odoo 相关依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 三、通过配置文件启动 odoo
python odoo-bin -c odoo.conf
三、配置域名访问(使用 Nginx 反向代理)
-
登录宝塔面板
在浏览器访问 http://服务器IP:8888,使用安装宝塔时显示的账号密码登录。 -
添加站点
-
点-击左侧「网站」→「添加站点」
-
填写您的域名(如 odoo.yourdomain.com)
-
PHP 版本选择「纯静态」
-
其他保持默认 → 点击「提交」
- 配置反向代理
在站点列表中找到刚创建的站点:
- 点击「设置」→「反向代理」→「添加反向代理」
- 代理名称填写 Odoo
- 目标 URL 填写 http://127.0.0.1:8069(Odoo 默认端口)
- 点击「提交」
- 修改代理配置(关键步骤)
在反向代理配置页面:
-
点击「配置文件」图标(铅笔符号)
-
在 location / 段内添加以下代码:
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
修改后配置应类似:
location / {proxy_pass http://127.0.0.1:8069;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host; # 新增此行
}
- 保存配置
- 配置 Odoo 参数
编辑 Odoo 配置文件 odoo.conf:
nano ~/odoo18/odoo.conf
添加以下配置:
proxy_mode = True
x_forwarded_host = True
- 重启服务
# 重启 Odoo
pkill -f odoo-bin
cd ~/odoo18
source venv/bin/activate
python odoo-bin -c odoo.conf &# 重启 Nginx
sudo systemctl restart nginx
五、配置 HTTPS(可选但推荐)
- 在宝塔申请 SSL 证书
- 站点设置 → SSL → Let’s Encrypt
- 勾选域名 → 选择「文件验证」→ 申请
- 开启「强制 HTTPS」
- 修改 Odoo 配置
在 odoo.conf 中添加:
web.base.url = https://yourdomain.com
六、验证访问
- 在浏览器访问您的域名 https://odoo.yourdomain.com
- 应该看到 Odoo 初始化安装界面
常见问题解决
- 502 Bad Gateway 错误
- 检查 Odoo 是否运行:ps aux | grep odoo-bin
- 确保端口正确:netstat -tunlp | grep 8069
- CSRF 验证失败
在 odoo.conf 中添加:
proxy_mode = True
- 静态资源加载失败
在 Nginx 配置中添加静态文件处理:
location /web/static/ {proxy_cache_valid 200 60m;proxy_buffering on;expires 864000;proxy_pass http://127.0.0.1:8069;
}
注意:如果使用防火墙,需放行端口:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
至此,您的 Odoo 18 已成功通过域名访问。后续可通过宝塔设置开机启动、进程守护等功能增强稳定性。