温馨提示×

LNMP如何迁移

小樊
51
2025-08-21 06:37:12
栏目: 编程语言

LNMP迁移可分为版本升级服务器迁移两类场景,以下是具体步骤及注意事项:

一、版本升级迁移

1. 备份数据

  • Nginx:备份配置文件 /etc/nginx/nginx.conf 及站点配置文件(如 /etc/nginx/conf.d/*.conf)。
  • MySQL:使用 mysqldump 导出所有数据库:
    mysqldump -uroot -p --all-databases > all_databases.sql 
  • PHP:备份自定义配置文件(如 php.ini)。
  • 网站文件:打包网站根目录(如 /home/wwwroot)。

2. 安装新版本环境

  • 卸载旧版本(若从源码安装):
    # 示例:卸载Nginx、MySQL、PHP sudo yum remove nginx mysql php 
  • 安装新版本
    • Nginx:通过官方源或源码编译安装(需指定版本号)。
    • MySQL:使用官方YUM源或二进制包安装,注意配置数据目录。
    • PHP:安装时需匹配Nginx版本,启用必要扩展(如 php-fpmmysql)。

3. 配置调整

  • Nginx:修改站点配置中的路径、SSL证书等,测试语法:
    nginx -t 
  • MySQL:若需迁移数据库,执行导入操作:
    mysql -uroot -p < all_databases.sql 
  • PHP:更新 php.ini 中的扩展路径或参数。

4. 测试与清理

  • 重启服务:
    systemctl restart nginx mysql php-fpm 
  • 访问网站验证功能,检查日志(/var/log/nginx/error.log 等)。
  • 确认无误后,删除旧版本文件。

二、服务器迁移

1. 迁移前准备

  • 备份数据:同版本升级步骤,需备份配置文件、数据库、网站文件。
  • 新服务器环境:安装与原服务器相同版本的LNMP(建议用工具如OneinStack简化部署)。

2. 数据传输

  • 文件传输:用 scprsync 同步网站文件:
    scp -r /home/wwwroot user@新服务器IP:/home/wwwroot 
  • 数据库迁移
    • 导出原数据库并导入新服务器(参考版本升级的数据库操作)。
    • 若需远程连接数据库,修改 my.cnf 中的 bind-address 并授权远程用户。

3. 配置同步

  • Nginx:复制原服务器的站点配置到新服务器,调整域名解析指向新IP。
  • PHP:确保新服务器的PHP版本与原环境一致,复制自定义扩展配置。
  • 系统服务:检查新服务器的防火墙(如 ufw/firewalld)是否放行Nginx、MySQL端口。

4. 测试与切换

  • 通过临时域名或IP测试新服务器环境是否正常。
  • 切换域名解析到新服务器IP,确认用户访问无异常。

三、注意事项

  • 依赖问题:升级或迁移前确认软件版本兼容性,避免因依赖冲突导致服务异常。
  • 数据一致性:迁移过程中避免对原服务器数据进行修改,确保备份完整。
  • 性能优化:迁移后可调整Nginx缓存、PHP进程数等参数提升性能。

参考来源:

0