奋斗
努力

在阿里云2核2GB服务器上部署禅道需要哪些步骤?

云计算

在阿里云 2核2GB(2C2G)服务器上部署禅道(ZenTao)是一个常见但具有挑战性的任务,因为禅道对内存有一定要求。虽然官方推荐配置更高,但在优化得当的情况下,2C2G 可以运行社区版。

以下是详细、安全的部署步骤,采用 Docker 方式(推荐,资源隔离好、易管理)和 源码/安装包方式(备选)两种方案。


✅ 推荐方案:使用 Docker 部署(最简洁、稳定)

前提条件

  1. 登录阿里云 ECS 控制台。
  2. 确保服务器已安装 Docker 和 Docker Compose。
  3. 开放安全组端口:80, 443, 3306(如使用外部 MySQL)。

步骤 1:安装 Docker 和 Docker Compose

# 更新系统
sudo yum update -y

# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 验证安装
docker --version
docker-compose --version  # 如果未安装,可执行:pip install docker-compose 或单独下载二进制文件

💡 注意:阿里云 CentOS 7/8 推荐使用 yum 安装;Ubuntu 用户使用 apt。


步骤 2:创建项目目录与配置文件

mkdir ~/zentao-docker
cd ~/zentao-docker

创建 docker-compose.yml 文件:

version: '3'
services:
  zentao:
    image: easzlab/zentao:latest
    container_name: zentao
    ports:
      - "80:80"
      - "443:443"
    environment:
      - PMA_ARBITRARY=1
      - ZENTAO_MODE=standard
    volumes:
      - ./data/zentao:/opt/www
      - ./logs:/var/log/apache2
    restart: always
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    container_name: zentao-mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_secure_password_here  # ⚠️ 修改为强密码
      MYSQL_DATABASE: zentao
      MYSQL_USER: zentao
      MYSQL_PASSWORD: zentao_password_here           # ⚠️ 修改为强密码
    volumes:
      - ./data/mysql:/var/lib/mysql
    restart: always

🔒 安全提示:务必替换 your_secure_password_here 和 zentao_password_here 为强密码!


步骤 3:启动服务

docker-compose up -d

等待几分钟,检查容器状态:

docker ps

应看到两个运行中的容器:zentao 和 zentao-mysql。


步骤 4:访问禅道 Web 界面

浏览器访问:http://<你的公网IP>

首次访问会进入安装向导:

  • 数据库类型:MySQL
  • 主机:mysql(Docker 内部网络名称)
  • 用户名:zentao
  • 密码:你设置的 zentao_password_here
  • 数据库名:zentao

按照提示完成管理员账户创建。


步骤 5:性能优化(关键!针对 2C2G)

由于内存有限,需进行以下优化:

1. 限制 MySQL 内存使用

编辑 docker-compose.yml 中 mysql 服务的 command:

  mysql:
    image: mysql:5.7
    command: --max_connections=100 --innodb-buffer-pool-size=64M --tmp-table-size=16M --max-heap-table-size=16M
    ...

2. 启用 Swap 分区(防止 OOM)

# 创建 2GB swap 文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 永久生效
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

3. 调整 PHP 内存限制(可选)

如需自定义 php.ini,可挂载到容器中,但通常默认值在 2C2G 下勉强够用。


❗ 备选方案:使用宝塔面板 + 一键安装包

如果你不熟悉 Docker,可使用宝塔面板简化操作:

步骤 1:安装宝塔面板

curl -sSO https://download.bt.cn/install/install_6.0.sh && sh install_6.0.sh ed8484bec

安装完成后记录账号密码。

步骤 2:安装 LNMP 环境

在宝塔面板中:

  • 软件商店 → 安装 Nginx 1.20+、MySQL 5.7、PHP 7.4
  • 关闭不必要的扩展以节省内存

步骤 3:部署禅道

  • 下载禅道 Linux 安装包(官网:https://www.zentao.net/download.html)
  • 解压到 /www/wwwroot/zentao
  • 配置虚拟主机指向该目录
  • 访问域名/IP 进行安装

⚠️ 此方式资源占用略高,建议同样开启 Swap 并优化 MySQL 参数。


🛡️ 安全与维护建议

  1. 防火墙与安全组:仅开放 80/443 端口,禁止直接 SSH 暴露(改用密钥认证)。
  2. 定期备份:
    # 备份数据目录
    tar -czf /backup/zentao-backup-$(date +%F).tar.gz ~/zentao-docker/data/
  3. 监控资源:使用 htop 或阿里云云监控观察 CPU/内存使用情况。
  4. 升级禅道:拉取最新镜像即可:
    docker-compose pull
    docker-compose up -d

📊 性能预期

指标 表现
并发用户 ≤ 10 人同时在线
项目数量 ≤ 5 个活跃项目
响应速度 正常,高峰可能略有延迟
稳定性 配合 Swap 可长期运行

💡 如果团队超过 10 人或项目增多,建议升级到 4C8G 以上配置。


如有问题,可查看日志:

docker logs zentao
docker logs zentao-mysql

祝你部署顺利!🎉

未经允许不得转载:云服务器 » 在阿里云2核2GB服务器上部署禅道需要哪些步骤?