“迁移 Linux LNMP”通常指把 L(Nginx) + N(MySQL/MariaDB) + P(PHP) 整套环境及网站数据,从一台服务器迁移到另一台服务器(或本机重装后恢复)。下面按最稳妥、可回滚的思路讲。
# 网站根目录(示例)
/var/www/html
/home/wwwroot
# Nginx 配置
/etc/nginx/nginx.conf
/etc/nginx/conf.d/
/usr/local/nginx/conf/
打包:
tar czf nginx_conf.tar.gz /etc/nginx
tar czf wwwroot.tar.gz /var/www/html
/etc/php.ini
/etc/php-fpm.conf
/etc/php-fpm.d/
打包:
tar czf php_conf.tar.gz /etc/php*
mysqldump -uroot -p --all-databases > all.sql
/etc/my.cnf
/var/lib/mysql
⚠️ 不同 MySQL 大版本不要直接拷数据目录
crontab -l > crontab.txt
SSL:
/etc/letsencrypt
/usr/local/nginx/conf/ssl
保持版本一致最安全:
例如 Ubuntu:
apt install nginx php-fpm mysql-server
tar xzf nginx_conf.tar.gz -C /
tar xzf php_conf.tar.gz -C /
tar xzf wwwroot.tar.gz -C /
检查:
nginx -t
systemctl restart nginx php-fpm
mysql -uroot -p < all.sql
如用数据目录方式:
systemctl stop mysql
cp -r mysql /var/lib/
chown -R mysql:mysql /var/lib/mysql
systemctl start mysql
crontab crontab.txt
phpinfo()tail -f /var/log/nginx/error.log
| 问题 | 原因 |
|---|---|
| 403 | 目录权限 / SELinux |
| 500 | PHP 版本不兼容 |
| 数据库连不上 | 用户权限 / host |
| 时间不对 | 时区未设 |
| 中文乱码 | 数据库字符集 |
./upgrade.sh
只迁移:
/home/wwwroot/usr/local/nginx/conf直接用 宝塔备份 + 恢复 最省事
你可以告诉我:
我可以直接给你一步一步可执行命令。