阿里云2核2G服务器部署禅道的最佳实践
结论先行
在阿里云2核(vCPU) 2GiB的服务器上部署禅道(ZenTao)完全可行,但需要优化配置以避免内存不足问题。推荐使用Docker或LNMP环境部署,并通过调整PHP和MySQL参数提升性能。
部署方案选择
1. 推荐方案:Docker部署(最简单)
- 优势:环境隔离、一键启动、无需复杂配置
- 执行命令:
docker run -d --name zentao -p 8080:80 -v /data/zentao:/data -e MYSQL_INTERNAL=true easysoft/zentao:latest - 注意:内置MySQL会占用较多内存,建议2G内存服务器选择
-e MYSQL_INTERNAL=false并使用外部RDS
2. 传统方案:LNMP环境手动部署
- 步骤概要:
- 安装Nginx+PHP+MySQL(MySQL建议5.7+)
- 下载禅道源码包解压到web目录
- 配置Nginx虚拟主机和PHP参数
- 关键优化:
; php.ini调整 memory_limit = 256M # 避免OOM max_execution_time = 120
性能优化要点
内存管理(核心重点)
- MySQL专用优化:
[mysqld] innodb_buffer_pool_size = 384M # 不超过总内存50% key_buffer_size = 64M - 关闭非必要服务:
- 停用阿里云监控agent等非核心进程
- 使用
htop监控内存占用
存储选择
- ESSD云盘:至少40GB容量(系统+数据)
- 定时备份:通过
crontab设置每日数据库dump
常见问题解决方案
1. 502 Bad Gateway
- 检查PHP-FPM是否运行:
systemctl status php-fpm - 增加PHP子进程数量:
pm.max_children = 20 → 改为10
2. 内存不足(OOM)
- 应急处理:
sync; echo 3 > /proc/sys/vm/drop_caches - 长期方案:
- 升级到4GB内存
- 使用阿里云突发性能实例
监控与维护
- 基础命令:
free -h # 内存监控 df -h # 磁盘检查 - 推荐工具:
- 阿里云自带的云监控
- 简易版:
glances或netdata
最终建议
对于长期使用的生产环境,建议升级到4GiB内存。2GiB配置适合10人以下团队测试使用,可通过以下方式降低成本:
- 选择共享计算型实例
- 搭配1Core 2GiB的弹性容器实例运行MySQL
关键总结:2核2G部署禅道需精简服务+优化参数,数据库分离是稳定性关键。
CLOUD云计算