温馨提示×

如何迁移 linux lnmp

小樊
47
2026-09-12 14:45:43
栏目: 智能运维

“迁移 Linux LNMP”一般指把 Linux + Nginx + MySQL/MariaDB + PHP 这套环境,从一台服务器迁移到另一台(或重新部署)。下面按最常用、最稳妥的流程来讲。


一、迁移前准备

1. 确认当前环境

在源服务器执行:

nginx -v
php -v
mysql -V

记录:

  • Nginx 版本
  • PHP 版本(及已装扩展)
  • MySQL/MariaDB 版本

2. 列清需要迁移的内容

  • 网站代码(/www、/var/www 等)
  • Nginx 配置(/etc/nginx)
  • PHP 配置(/etc/php)
  • 数据库数据
  • SSL 证书(/etc/nginx/ssl 或 certbot 目录)
  • 定时任务(crontab)

二、迁移步骤(推荐方式)

1. 备份源服务器

(1) 网站文件

tar czf www.tar.gz /var/www/html

(2) Nginx 配置

tar czf nginx.tar.gz /etc/nginx

(3) PHP 配置

tar czf php.tar.gz /etc/php

(4) 数据库备份(重点)

mysqldump -uroot -p --all-databases > all.sql

(5) 定时任务

crontab -l > crontab.txt

2. 新服务器安装 LNMP

可选择:

  • 手动安装(推荐,可控)
  • 一键包(LNMP.org /宝塔)

手动示例(Ubuntu):

apt update
apt install nginx mysql-server php-fpm php-mysql

版本尽量与源服务器一致,避免兼容问题。


3. 恢复数据到新服务器

(1) 网站文件

tar xzf www.tar.gz -C /

(2) Nginx 配置

cp -r nginx/* /etc/nginx/
nginx -t
systemctl restart nginx

(3) PHP 配置

cp -r php/* /etc/php/
systemctl restart php-fpm

(4) 数据库恢复

mysql -uroot -p < all.sql

(5) 定时任务

crontab crontab.txt

4. 修改域名解析

将域名 A 记录指向 新服务器 IP
(建议 TTL 调小,方便切换)


5. 验证

  • 访问网站
  • 查看 Nginx / PHP / MySQL 日志
tail -f /var/log/nginx/error.log

三、常见坑提醒

权限问题

chown -R www-data:www-data /var/www/html

PHP 版本不一致

  • 扩展缺失
  • 语法不兼容

MySQL 版本差异

  • 8.0 → 5.7 可能失败
  • 建议同版本迁移

SELinux / 防火墙

ufw allow 80,443

四、如果你用的是“一键 LNMP”

如果是 LNMP.org 一键包

./backup.sh

会把:

  • 网站
  • 数据库
  • 配置

打包好,直接拷到新机恢复即可。


如果你愿意,可以告诉我:

  • 源 / 目标系统(CentOS / Ubuntu?)
  • 是否用宝塔 / LNMP.org
  • 是整机迁移还是只迁网站

我可以直接给你对应系统的精确命令

0