将 Odoo 部署到阿里云(Alibaba Cloud)是一个常见且可行的选择,尤其适合希望在我国大陆提供稳定服务的企业。以下是详细的部署步骤和建议:
一、准备工作
1. 注册阿里云账号
- 访问 阿里云官网
- 注册并完成实名认证。
2. 购买云服务器 ECS
- 推荐配置:
- 系统:Ubuntu 20.04 / 22.04 LTS(推荐)
- CPU:2核以上
- 内存:4GB 或更高(根据用户数调整)
- 硬盘:50GB 以上(SSD 更好)
- 带宽:1Mbps 起(可按需升级)
提示:选择靠近用户的地域(如华北、华东)以降低延迟。
二、连接服务器并配置环境
1. 远程登录 ECS
使用 SSH 工具(如 Xshell、PuTTY 或终端)连接:
ssh root@你的ECS公网IP
2. 更新系统
sudo apt update && sudo apt upgrade -y
3. 安装 PostgreSQL(Odoo 依赖数据库)
sudo apt install postgresql postgresql-contrib -y
sudo systemctl enable postgresql
sudo systemctl start postgresql
创建 Odoo 数据库用户:
sudo -u postgres createuser --createdb --pwprompt odoo
# 输入密码,例如:odoo123
三、安装 Odoo
方法一:从官方源码安装(推荐用于最新版本)
1. 安装依赖
sudo apt install git python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev libjpeg8-dev zlib1g-dev libpq-dev -y
2. 克隆 Odoo 源码(以 v16 为例)
git clone https://github.com/odoo/odoo.git -b 16.0 --depth=1 /opt/odoo
3. 创建 Python 虚拟环境
sudo apt install python3-venv -y
cd /opt/odoo
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
⚠️ 注意:某些包可能需要额外处理(如 lxml 编译失败时,先
apt install libxml2-dev libxslt-dev
)
方法二:使用 APT 安装(适用于社区版稳定版本)
wget -O - https://nightly.odoo.com/odoo.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/odoo.gpg > /dev/null
echo 'deb http://nightly.odoo.com/16.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
sudo apt update && sudo apt install odoo -y
四、配置 Odoo
创建配置文件
sudo mkdir /etc/odoo
sudo cp /opt/odoo/debian/odoo.conf /etc/odoo/odoo.conf
sudo chown -R $USER:$USER /etc/odoo/odoo.conf
编辑配置:
nano /etc/odoo/odoo.conf
内容示例:
[options]
; 启用开发者模式
addons_path = /opt/odoo/addons,/opt/odoo/odoo/addons
db_host = False
db_port = False
db_user = odoo
db_password = odoo123
admin_passwd = your_master_password_here
csv_internal_sep = ,
data_dir = /var/lib/odoo
proxy_mode = True
五、创建启动服务(Systemd)
创建服务文件:
sudo nano /etc/systemd/system/odoo.service
内容如下:
[Unit]
Description=Odoo
After=postgresql.service
Requires=postgresql.service
[Service]
Type=simple
User=your_username
ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo-bin -c /etc/odoo/odoo.conf
KillSignal=SIGINT
TimeoutStopSec=200
StandardOutput=journal
StandardError=journal
SyslogIdentifier=odoo
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reexec
sudo systemctl enable odoo
sudo systemctl start odoo
sudo systemctl status odoo
六、配置域名与 HTTPS(生产环境必备)
1. 绑定域名
- 在阿里云购买域名,并在「云解析 DNS」中添加 A 记录指向 ECS 公网 IP。
2. 安装 Nginx 反向X_X
sudo apt install nginx -y
配置站点(/etc/nginx/sites-available/odoo
):
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 ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled
sudo nginx -t && sudo systemctl reload nginx
3. 免费申请 SSL 证书(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
Certbot 会自动更新 Nginx 配置并启用 HTTPS。
七、安全设置(重要!)
1. 防火墙配置(阿里云安全组)
- 登录阿里云控制台 → ECS → 安全组
- 添加规则:
- 允许 80 (HTTP)
- 允许 443 (HTTPS)
- 可选:限制 SSH(22端口)仅允许特定 IP
2. 本地防火墙(UFW)
sudo apt install ufw
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'
sudo ufw enable
八、访问 Odoo
打开浏览器访问:
https://yourdomain.com
首次访问会进入数据库创建页面,填写信息即可开始使用。
九、后续维护建议
- 定期备份数据库(使用 Odoo 自带导出或 pg_dump)
- 设置自动更新脚本(尤其是安全补丁)
- 监控服务器资源(CPU、内存、磁盘)
- 使用阿里云 RDS 替代本地 PostgreSQL(高可用场景)
常见问题
问题 | 解决方案 |
---|---|
无法访问 8069 端口 | 检查安全组和防火墙 |
安装依赖报错 | 安装 build-essential 和 dev 包 |
中文乱码 | 安装中文字体 sudo apt install fonts-wqy-zenhei |
性能慢 | 升级 ECS 配置,启用缓存 |
如果你希望更简单的方式,也可以考虑:
- 使用 Docker 部署 Odoo(更灵活)
- 使用阿里云市场中的 Odoo 镜像(一键部署)
需要我提供 Docker 部署方案或自动化脚本吗?欢迎继续提问!