将 Odoo 部署到阿里云(Alibaba Cloud)是一个常见的需求,尤其适用于企业级应用部署。以下是详细的部署步骤,帮助你在阿里云上成功部署 Odoo(以 Odoo 15 或 16 为例)。
✅ 一、准备工作
-
注册阿里云账号
- 访问 阿里云官网
- 注册并完成实名认证。
-
购买云服务器 ECS
- 推荐配置:
- 操作系统:Ubuntu 20.04 / 22.04 LTS(推荐)
- CPU:2核以上
- 内存:4GB 以上(建议 8GB)
- 硬盘:至少 50GB(SSD)
- 地域:选择靠近用户的区域(如华北、华东)
- 开放端口:在安全组中放行以下端口:
80(HTTP)443(HTTPS)22(SSH)8069(Odoo 默认端口)
- 推荐配置:
✅ 二、连接到 ECS 服务器
使用 SSH 连接到你的阿里云 ECS 实例:
ssh root@你的ECS公网IP
建议修改密码或配置密钥登录。
✅ 三、安装依赖环境
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 安装 PostgreSQL(Odoo 的数据库)
sudo apt install postgresql postgresql-contrib -y
启动并设置开机自启:
sudo systemctl enable postgresql
sudo systemctl start postgresql
创建 Odoo 数据库用户:
sudo su - postgres -c "createuser -s odoo"
用户名
odoo与 Odoo 默认配置匹配,可简化配置。
3. 安装 Python 及相关依赖
sudo apt install python3 python3-pip python3-dev python3-venv git build-essential libpq-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev -y
4. 安装 Node.js 和 Less(用于前端编译)
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
npm install -g less less-plugin-clean-css
✅ 四、下载并安装 Odoo
方法一:从 GitHub 源码安装(推荐用于自定义开发)
sudo mkdir /opt/odoo
sudo chown $USER:$USER /opt/odoo
git clone https://github.com/odoo/odoo.git --branch 16.0 --single-branch /opt/odoo/odoo-server
可将
16.0改为15.0或其他版本。
创建 Python 虚拟环境并安装依赖
cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
pip install --upgrade pip
pip install -r odoo-server/requirements.txt
⚠️ 如果安装
lxml或psycopg2失败,请先安装系统依赖(见第三步)。
✅ 五、配置 Odoo
创建配置文件
sudo mkdir /etc/odoo
sudo cp /opt/odoo/odoo-server/debian/odoo.conf /etc/odoo/odoo.conf
sudo chown -R root:odoo /etc/odoo
sudo chmod 640 /etc/odoo/odoo.conf
编辑配置文件:
sudo nano /etc/odoo/odoo.conf
内容示例:
[options]
; 基本配置
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom-addons
admin_passwd = your_admin_password_here ; 修改为强密码
csv_internal_sep = ,
data_dir = /opt/odoo/.local/share/Odoo
; 网络配置
http_port = 8069
proxy_mode = True
; 日志
logfile = /var/log/odoo/odoo.log
log_level = info
注意:
addons_path可添加自定义模块路径。
创建日志目录
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo
✅ 六、创建系统服务(systemd)
创建服务文件:
sudo nano /etc/systemd/system/odoo.service
内容:
[Unit]
Description=Odoo
After=postgresql.service
Requires=postgresql.service
[Service]
Type=simple
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo/odoo.conf
KillSignal=SIGINT
TimeoutStopSec=200
StandardOutput=journal
StandardError=journal
SyslogIdentifier=odoo
[Install]
WantedBy=multi-user.target
注意:确保路径正确,Python 路径使用虚拟环境中的。
启动服务
sudo systemctl daemon-reload
sudo systemctl enable odoo
sudo systemctl start odoo
查看状态:
sudo systemctl status odoo
✅ 七、配置域名与 HTTPS(可选但推荐)
-
绑定域名
- 在阿里云控制台申请域名或使用已有域名。
- 添加解析记录,指向 ECS 公网 IP。
-
使用 Nginx 反向X_X + SSL
sudo apt install nginx certbot python3-certbot-nginx -y配置 Nginx:
server { listen 80; server_name yourdomain.com; 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; } }保存后运行:
sudo certbot --nginx -d yourdomain.com自动配置 HTTPS。
✅ 八、访问 Odoo
打开浏览器访问:
http://<你的IP>:8069- 或
https://yourdomain.com(如果配置了 Nginx + SSL)
首次访问会进入数据库创建页面,填写数据库名、管理员邮箱、密码等即可开始使用。
✅ 九、安全建议
- 关闭 root 登录 SSH,使用普通用户 + sudo。
- 使用强密码或 SSH 密钥。
- 定期备份数据库和文件(
/opt/odoo/.local/share/Odoo)。 - 使用防火墙(
ufw)限制端口访问。 - 定期更新系统和 Odoo。
✅ 常见问题
| 问题 | 解决方案 |
|---|---|
| 无法访问 8069 端口 | 检查阿里云安全组是否放行 |
| 数据库连接失败 | 确保 PostgreSQL 正在运行,用户 odoo 已创建 |
| 模块安装报错 | 检查 Python 依赖是否完整,使用虚拟环境 |
| 中文乱码 | 安装中文字体 sudo apt install fonts-wqy-zenhei |
✅ 总结
通过以上步骤,你可以在阿里云 ECS 上成功部署 Odoo,并通过域名 + HTTPS 安全访问。适合用于生产环境或测试开发。
如需自动化部署,可使用 Docker + Docker Compose 或编写 Shell 脚本一键安装。
需要我提供 一键安装脚本 或 Docker 部署方案 吗?欢迎继续提问!
CDNK博客