odoo部署到阿里云?

将 Odoo 部署到阿里云是一个常见且可行的选择,尤其适合希望在我国大陆提供稳定服务的企业。以下是详细的部署步骤和建议,帮助你在阿里云上成功部署 Odoo。


一、准备工作

  1. 注册阿里云账号

    • 访问 阿里云官网
    • 注册并完成实名认证。
  2. 选择合适的 ECS 实例

    • 推荐配置(根据业务规模调整):
      • 系统:Ubuntu 20.04 / 22.04 LTS(推荐)
      • CPU:2核 或以上
      • 内存:4GB 或以上
      • 硬盘:系统盘 40GB + 数据盘(可选)
      • 带宽:1~5 Mbps(视用户量而定)
  3. 安全组设置

    • 开放以下端口:
      • 22:SSH 远程登录
      • 80:HTTP
      • 443:HTTPS
      • 8069:Odoo 默认端口(可后续关闭或反向X_X后隐藏)

二、部署方式选择

✅ 方式一:手动部署(推荐用于学习或定制化)

步骤:

  1. 登录 ECS 实例

    ssh root@你的公网IP
  2. 更新系统

    sudo apt update && sudo apt upgrade -y
  3. 安装依赖

    sudo apt install -y postgresql postgresql-contrib python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev libffi-dev build-essential wget git
  4. 创建 PostgreSQL 用户

    sudo su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser odoo"
  5. 克隆 Odoo 源码(以 v17 为例)

    git clone https://github.com/odoo/odoo.git -b 17.0 --depth=1 /opt/odoo
    cd /opt/odoo
  6. 创建虚拟环境并安装 Python 依赖

    python3 -m venv odoo-env
    source odoo-env/bin/activate
    pip install -r requirements.txt
  7. 创建配置文件

    sudo mkdir /etc/odoo
    sudo cp /opt/odoo/debian/odoo.conf /etc/odoo/odoo.conf
    sudo chown -R $USER:$USER /etc/odoo/odoo.conf

    编辑配置:

    [options]
    ; 基础配置
    db_host = False
    db_port = False
    db_user = odoo
    db_password = False
    admin_passwd = your_admin_password_here
    addons_path = /opt/odoo/addons,/opt/odoo/odoo/addons
    xmlrpc_port = 8069
    logfile = /var/log/odoo/odoo.log
    log_level = info
  8. 创建日志目录

    sudo mkdir /var/log/odoo
    sudo chown $USER:$USER /var/log/odoo
  9. 创建 systemd 服务(开机自启)

    sudo nano /etc/systemd/system/odoo.service

    内容如下:

    [Unit]
    Description=Odoo
    Requires=postgresql.service
    After=network.target postgresql.service
    
    [Service]
    Type=simple
    User=your_username
    ExecStart=/opt/odoo/odoo-env/bin/python3 /opt/odoo/odoo-bin -c /etc/odoo/odoo.conf
    KillSignal=SIGINT
    TimeoutStopSec=200
    StandardOutput=journal
    StandardError=journal
    
    [Install]
    WantedBy=multi-user.target

    启用服务:

    sudo systemctl daemon-reload
    sudo systemctl enable odoo
    sudo systemctl start odoo
  10. 访问 Odoo
    浏览器打开:

    http://<你的公网IP>:8069

    首次访问会进入数据库创建页面。


✅ 方式二:使用 Docker 部署(更简单、快速)

  1. 安装 Docker 和 Docker Compose

    curl -fsSL https://get.docker.com | sh
    sudo usermod -aG docker $USER
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  2. 创建 docker-compose.yml

    version: '3'
    services:
     db:
       image: postgres:15
       environment:
         POSTGRES_USER: odoo
         POSTGRES_PASSWORD: odoo
         POSTGRES_DB: postgres
       volumes:
         - postgres_data:/var/lib/postgresql/data
       restart: always
    
     web:
       image: odoo:17.0
       depends_on:
         - db
       ports:
         - "8069:8069"
       environment:
         - HOST=db
         - USER=odoo
         - PASSWORD=odoo
       volumes:
         - odoo-web-data:/var/lib/odoo
         - ./config:/etc/odoo
         - ./addons:/mnt/extra-addons
       restart: always
    
    volumes:
     postgres_data:
     odoo-web-data:
  3. 启动服务

    docker-compose up -d
  4. 访问

    http://<你的公网IP>:8069

三、生产环境优化建议

  1. 使用 Nginx 反向X_X

    • 隐藏 8069 端口
    • 支持 HTTPS
    • 负载均衡(多实例时)
  2. 申请 SSL 证书(免费可用阿里云或 Let’s Encrypt)

    • 使用 Certbot 自动续期。
  3. 定期备份

    • 数据库备份(pg_dump)
    • 文件存储(/var/lib/odoo/filestore
  4. 监控与日志

    • 使用阿里云日志服务 SLS
    • 设置告警(CPU、内存、磁盘)
  5. 域名绑定

    • 在阿里云购买域名 → 解析到 ECS 公网 IP
    • 配置 Nginx 使用域名访问。

四、注意事项

  • ⚠️ 不要将 admin_passwd 泄露。
  • 🔒 生产环境务必关闭 --dev 模式。
  • 🌐 建议通过 Nginx + HTTPS 提供服务,避免直接暴露 8069 端口。
  • 💾 定期快照 ECS 磁盘以防数据丢失。

五、参考资源

  • Odoo 官方文档
  • 阿里云 ECS 文档
  • Docker Odoo 镜像

如果你需要我帮你生成完整的脚本、Docker 配置或 Nginx 示例,请告诉我你的具体需求(如版本、是否需要 HTTPS、是否多用户等),我可以进一步定制方案。

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