加油
努力

阿里云实例从CentOS更换为Ubuntu有哪些注意事项?

将阿里云ECS实例从 CentOS 更换为 Ubuntu 系统,是一个涉及系统迁移和配置变更的重要操作。以下是详细的注意事项和建议步骤,帮助你顺利完成切换:


一、核心注意事项

1. 数据备份(重中之重)

  • 在更换操作系统前,务必备份所有重要数据(如网站文件、数据库、配置文件等)。
  • 推荐方式:
    • 使用阿里云快照功能创建磁盘快照。
    • 手动将关键数据打包上传至OSS或本地存储。

⚠️ 更换系统会清空系统盘,原有数据将丢失!


2. 选择更换方式

阿里云支持两种更换系统的方式:

方式 说明 是否保留数据
重装系统 通过控制台更换镜像,重新初始化系统盘 ❌ 系统盘数据清空
使用自定义镜像 先制作包含数据的自定义镜像,再基于该镜像创建新实例 ✅ 可保留数据

建议:如果需要保留数据,先停止实例 → 制作自定义镜像 → 用该镜像创建 Ubuntu 实例。


3. 应用与服务兼容性检查

Ubuntu 与 CentOS 在包管理、服务路径、默认配置等方面有差异,需注意:

项目 CentOS (yum/dnf) Ubuntu (apt)
包管理器 yum / dnf apt
服务管理 systemctl(相同) systemctl
防火墙 firewalld ufwiptables
默认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 虚拟主机配置需重新编写。

二、推荐操作流程

  1. 停止 ECS 实例
  2. 创建系统盘快照(用于备份)
  3. (可选)制作自定义镜像
  4. 更换镜像为 Ubuntu(公共镜像或自定义镜像)
  5. 启动实例,登录系统
  6. 配置网络、更新系统、安装软件
  7. 恢复数据和配置文件
  8. 测试服务是否正常运行
  9. 调整安全组与防火墙
  10. 完成迁移,删除临时快照(节省费用)

三、常见问题

  • 无法SSH登录?
    检查安全组、SSH服务状态、密钥或密码是否正确。

  • 网站无法访问?
    检查 Nginx/Apache 是否运行、端口是否开放、防火墙设置。

  • MySQL 启动失败?
    查看日志 /var/log/mysql/error.log,注意 Ubuntu 的 AppArmor 限制。


总结

更换系统本质是“重建”,重点在于:
✅ 备份数据
✅ 规划迁移路径
✅ 重新配置服务
✅ 测试验证

只要提前规划、逐步操作,从 CentOS 迁移到 Ubuntu 是完全可行且稳定的。

如需最小停机时间,建议采用“新建 Ubuntu 实例 + 数据迁移”的方式,而非直接重装。


如有具体应用场景(如 LNMP、Docker、K8s等),可进一步提供详细迁移方案。

云服务器