温馨提示×

怎样迁移debian lnmp

小樊
46
2026-09-13 23:26:56
栏目: 智能运维

下面按常见场景给你讲一下 Debian 上 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)迁移 的做法。你可以根据目标是同机重装 / 换服务器 / 换 Debian 版本来选择。


一、迁移前准备

1. 记录环境信息

nginx -v
php -v
mysql -V
lsb_release -a

记录:

  • Nginx 版本
  • PHP 版本(及已装扩展)
  • MySQL/MariaDB 版本
  • 网站目录、配置路径

2. 备份清单

通常要备份:

  • 网站文件
  • Nginx 配置
  • PHP 配置
  • 数据库
  • SSL 证书(如有)

二、备份(源服务器)

1. 网站文件

tar czf /backup/www.tar.gz /var/www

2. Nginx 配置

tar czf /backup/nginx.tar.gz /etc/nginx

3. PHP 配置

tar czf /backup/php.tar.gz /etc/php

4. 数据库(重点)

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

或单库:

mysqldump -uroot -p dbname > dbname.sql

5. SSL 证书(Let’s Encrypt)

tar czf /backup/ssl.tar.gz /etc/letsencrypt

三、新 Debian 服务器安装 LNMP

1. 更新系统

apt update && apt upgrade -y

2. 安装 Nginx

apt install nginx -y

3. 安装 MariaDB(推荐)

apt install mariadb-server -y
mysql_secure_installation

或 MySQL:

apt install mysql-server -y

4. 安装 PHP

apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

四、恢复(目标服务器)

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. 恢复 SSL

cp -r letsencrypt/* /etc/letsencrypt/

五、权限与常见问题

1. 网站目录权限

chown -R www-data:www-data /var/www
chmod -R 755 /var/www

2. PHP 版本不一致

  • 配置文件路径可能不同(如 /etc/php/8.2)
  • 需修改 Nginx 中的 fastcgi_pass

3. Nginx 启动失败

nginx -t
journalctl -xe

六、推荐迁移方式(进阶)

✅ 使用脚本(新手友好)

  • Oneinstack
  • LNMP.org 一键包

✅ 容器化(长期方案)

  • Docker + docker-compose
  • 迁移只拷 docker-compose.yml + 数据卷

七、总结流程一句话

备份网站 + 配置 + 数据库 → 新机装同版本 LNMP → 恢复文件 → 导入数据库 → 修权限和配置

如果你能告诉我:

  • 是 同服务器重装 还是 换服务器
  • 用的 MySQL 还是 MariaDB
  • 是否有 Docker / 面板

我可以给你更精确的命令版本。

0 踩