在 Debian 上迁移 LNMP(Linux + Nginx + MySQL/MariaDB + PHP),常见场景有:
下面给你一套 通用、实战型迁移方案,适用于 Debian 10/11/12。
在 源服务器 查看版本:
cat /etc/debian_version
nginx -v
php -v
mysql --version
新 Debian 服务器建议:
tar czvf nginx-conf.tar.gz /etc/nginx/
scp nginx-conf.tar.gz root@新服务器IP:/tmp/
tar xzvf /tmp/nginx-conf.tar.gz -C /
⚠️ 注意:
/etc/nginx/nginx.conf 中 与系统相关的内容/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
/etc/nginx/conf.d/
默认路径一般是:
/var/www/
tar czvf www.tar.gz /var/www/
scp www.tar.gz root@新服务器IP:/tmp/
tar xzvf /tmp/www.tar.gz -C /
mysqldumpmysqldump -u root -p --all-databases > all.sql
或单库:
mysqldump -u root -p dbname > dbname.sql
scp all.sql root@新服务器IP:/tmp/
mysql -u root -p < /tmp/all.sql
✅ 优点:安全、兼容性好
✅ 适合 跨版本迁移
⚠️ 仅限同版本 MySQL / MariaDB
systemctl stop mariadb
tar czvf mysql-data.tar.gz /var/lib/mysql
新服务器:
systemctl stop mariadb
tar xzvf mysql-data.tar.gz -C /
chown -R mysql:mysql /var/lib/mysql
systemctl start mariadb
tar czvf php-conf.tar.gz /etc/php/
新服务器:
tar xzvf php-conf.tar.gz -C /
常见路径:
/etc/php/8.x/fpm/
/etc/php/8.x/cli/
重启 PHP-FPM:
systemctl restart php8.x-fpm
apt update
apt install nginx mariadb-server php-fpm php-mysql
启动服务:
systemctl enable nginx mariadb php8.x-fpm
systemctl start nginx mariadb php8.x-fpm
nginx -t
tail -f /var/log/nginx/error.log
tail -f /var/log/php8.x-fpm.log
| 问题 | 原因 |
|---|---|
| 502 Bad Gateway | PHP-FPM 没启动 / sock 路径不一致 |
| 403 Forbidden | 网站目录权限 |
| 数据库连不上 | 用户权限 / bind-address |
chown -R www-data:www-data /var/www
chmod -R 755 /var/www
/etc/letsencrypt/
或:
/etc/nginx/ssl/
⚠️ Let’s Encrypt 建议 重新申请:
certbot renew
1️⃣ 导出数据库
2️⃣ 打包网站 + 配置
3️⃣ 新服务器安装 LNMP
4️⃣ 导入配置和网站
5️⃣ 导入数据库
6️⃣ 修复权限
7️⃣ 重启服务
如果你愿意,可以告诉我:
我可以给你 更精确的迁移命令。