迁移 Linux + LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 服务,通常分为 整体迁移 和 分服务迁移 两种思路。下面给你一套 通用、可操作的迁移方案,适用于:
在 原服务器 执行:
cat /etc/os-release
nginx -v
php -v
mysql -V
记录:
/www、/var/www)在新服务器上:
原服务器:
tar czf www.tar.gz /www
# 或
tar czf www.tar.gz /var/www
scp www.tar.gz root@新服务器IP:/root/
新服务器:
tar xzf www.tar.gz -C /
chown -R www:www /www
(用户视 LNMP 安装方式而定,如 nginx、www)
tar czf nginx_conf.tar.gz /etc/nginx
scp nginx_conf.tar.gz root@新IP:/root/
tar xzf nginx_conf.tar.gz -C /
nginx -t
systemctl restart nginx
⚠️ 注意:
mysqldump -uroot -p --all-databases > all.sql
或单个库:
mysqldump -uroot -p dbname > dbname.sql
scp all.sql root@新IP:/root/
mysql -uroot -p < all.sql
✅ 优点:跨版本兼容好
❌ 缺点:大库慢
systemctl stop mysql
tar czf mysql_data.tar.gz /var/lib/mysql
迁移后:
systemctl stop mysql
tar xzf mysql_data.tar.gz -C /
chown -R mysql:mysql /var/lib/mysql
systemctl start mysql
⚠️ 必须同 MySQL 版本
tar czf php_conf.tar.gz /etc/php
tar xzf php_conf.tar.gz -C /
php -m
确保扩展一致(如 redis、gd、mbstring)
修改本地 hosts:
新服务器IP domain.com
访问网站,确认:
❌ 忘记迁移:
crontab -l✅ 建议:
如:
可以告诉我,我给你对应专属迁移方案。
如果你愿意,可以直接告诉我:
我可以给你 一步步精确命令。