将阿里云ECS实例从 CentOS 更换为 Ubuntu 系统,是一个涉及系统迁移和配置变更的重要操作。以下是详细的注意事项和建议步骤,帮助你顺利完成切换:
一、核心注意事项
1. 数据备份(重中之重)
- 在更换操作系统前,务必备份所有重要数据(如网站文件、数据库、配置文件等)。
- 推荐方式:
- 使用阿里云快照功能创建磁盘快照。
- 手动将关键数据打包上传至OSS或本地存储。
⚠️ 更换系统会清空系统盘,原有数据将丢失!
2. 选择更换方式
阿里云支持两种更换系统的方式:
| 方式 | 说明 | 是否保留数据 |
|---|---|---|
| 重装系统 | 通过控制台更换镜像,重新初始化系统盘 | ❌ 系统盘数据清空 |
| 使用自定义镜像 | 先制作包含数据的自定义镜像,再基于该镜像创建新实例 | ✅ 可保留数据 |
建议:如果需要保留数据,先停止实例 → 制作自定义镜像 → 用该镜像创建 Ubuntu 实例。
3. 应用与服务兼容性检查
Ubuntu 与 CentOS 在包管理、服务路径、默认配置等方面有差异,需注意:
| 项目 | CentOS (yum/dnf) | Ubuntu (apt) |
|---|---|---|
| 包管理器 | yum / dnf |
apt |
| 服务管理 | systemctl(相同) |
systemctl |
| 防火墙 | firewalld |
ufw 或 iptables |
| 默认Shell | /bin/bash |
/bin/bash |
| SSH配置路径 | /etc/ssh/sshd_config |
相同 |
| Web服务器路径 | /etc/httpd/ |
/etc/apache2/ 或 /etc/nginx/ |
提示:Nginx/Apache/MySQL/PHP 等软件在 Ubuntu 上安装方式不同,需重新配置。
4. 软件重新安装与配置
更换系统后,需重新安装所需软件,例如:
# 更新源
sudo apt update && sudo apt upgrade -y
# 安装常用软件
sudo apt install nginx mysql-server php-fpm -y
注意:
- MySQL root 密码初始化方式可能不同(Ubuntu 20.04+ 使用
auth_socket插件)。 - PHP 版本源可能需要添加 PPA。
5. 用户与权限迁移
- CentOS 中创建的用户不会自动迁移到 Ubuntu。
- 如需保留用户,需手动重建并设置密码:
sudo adduser username sudo usermod -aG sudo username # 赋予sudo权限 - 注意家目录
/home/username需手动恢复(如有备份)。
6. SSH 密钥与登录安全
- 更换系统后,SSH 主机密钥会重置,客户端可能会提示“Host key verification failed”。
- 解决方法:清除本地
~/.ssh/known_hosts中对应IP的旧记录。 - 建议提前配置好密钥登录,禁用密码登录以提高安全性。
7. 网络与防火墙配置
- Ubuntu 默认可能未开启防火墙(UFW),需根据需求配置:
sudo ufw allow 'Nginx Full' sudo ufw allow OpenSSH sudo ufw enable - 检查阿里云安全组规则是否放行相应端口(80、443、22等)。
8. 时区与语言环境
- Ubuntu 默认时区可能不是
Asia/Shanghai,需设置:sudo timedatectl set-timezone Asia/Shanghai - 语言环境(locale)也可按需配置。
9. 监控与运维工具适配
- 若使用 Zabbix、Prometheus、宝塔等工具,需重新安装并配置。
- 宝塔面板支持 Ubuntu,但安装命令不同:
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
10. 域名与SSL证书
- SSL证书(如 Let’s Encrypt)需在新系统中重新申请或迁移。
- Nginx/Apache 虚拟主机配置需重新编写。
二、推荐操作流程
- 停止 ECS 实例
- 创建系统盘快照(用于备份)
- (可选)制作自定义镜像
- 更换镜像为 Ubuntu(公共镜像或自定义镜像)
- 启动实例,登录系统
- 配置网络、更新系统、安装软件
- 恢复数据和配置文件
- 测试服务是否正常运行
- 调整安全组与防火墙
- 完成迁移,删除临时快照(节省费用)
三、常见问题
-
无法SSH登录?
检查安全组、SSH服务状态、密钥或密码是否正确。 -
网站无法访问?
检查 Nginx/Apache 是否运行、端口是否开放、防火墙设置。 -
MySQL 启动失败?
查看日志/var/log/mysql/error.log,注意 Ubuntu 的 AppArmor 限制。
总结
更换系统本质是“重建”,重点在于:
✅ 备份数据
✅ 规划迁移路径
✅ 重新配置服务
✅ 测试验证
只要提前规划、逐步操作,从 CentOS 迁移到 Ubuntu 是完全可行且稳定的。
如需最小停机时间,建议采用“新建 Ubuntu 实例 + 数据迁移”的方式,而非直接重装。
如有具体应用场景(如 LNMP、Docker、K8s等),可进一步提供详细迁移方案。
云小栈