odoo部署到阿里云?

云计算

将 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 部署方案或自动化脚本吗?欢迎继续提问!

未经允许不得转载:CLOUD云枢 » odoo部署到阿里云?