如何在Ubuntu上迁移LNMP站点
迁移LNMP(Linux+NGINX+MySQL+PHP)站点至Ubuntu服务器,需围绕数据备份-环境重建-数据恢复-配置调整四大核心步骤展开,确保站点在新环境中稳定运行。
迁移前需完整备份原服务器的网站文件、数据库、Nginx配置,避免数据丢失。
tar命令压缩站点根目录(如/var/www/html或自定义路径),例如:sudo tar -czvf site_files.tar.gz /var/www/html
mysqldump导出所有数据库(含表结构和数据),例如:sudo mysqldump -u root -p --all-databases > all_databases.sql
/etc/nginx)至备份路径,例如:sudo cp -r /etc/nginx /etc/nginx_backup
php.ini),需备份/etc/php/目录(如php7.4-fpm或对应版本)。在目标Ubuntu服务器上安装与原环境一致的LNMP组件(版本差异可能导致兼容性问题)。
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo apt install mysql-server -y
sudo mysql_secure_installation # 执行安全配置(设置root密码、移除匿名用户等)
php-mysql、php-fpm、php-curl等):sudo apt install php7.4-fpm php7.4-mysql php7.4-curl -y
sudo systemctl start nginx mysql php7.4-fpm
sudo systemctl enable nginx mysql php7.4-fpm
将备份的文件、数据库导入新服务器,恢复站点基础数据。
site_files.tar.gz上传至新服务器(如/var/www/new_site),解压并设置权限:sudo tar -xzvf site_files.tar.gz -C /var/www/new_site
sudo chown -R www-data:www-data /var/www/new_site # 设置所有者为www-data(Nginx默认用户)
sudo chmod -R 755 /var/www/new_site # 设置目录权限
all_databases.sql文件,若数据库用户/密码变更,需同步修改:mysql -u root -p < all_databases.sql
/etc/nginx_backup目录复制至/etc/nginx,覆盖原有配置:sudo cp -r /etc/nginx_backup/* /etc/nginx/
php.ini,将备份的php.ini复制至对应版本目录(如/etc/php/7.4/fpm/php.ini),并重启PHP-FPM:sudo systemctl restart php7.4-fpm
调整Nginx配置以适配新站点,并验证站点是否正常运行。
sudo nginx -t
若输出syntax is ok,说明配置无错误。sudo systemctl restart nginx
/var/log/nginx/error.log)排查潜在错误。root路径是否指向正确站点目录,或index指令是否包含index.php。sudo systemctl status php7.4-fpm),或Nginx配置中的fastcgi_pass指令是否指向正确的PHP-FPM套接字(如unix:/var/run/php/php7.4-fpm.sock)。wp-config.php或config.php)中的数据库用户名、密码、数据库名是否与恢复的数据库一致,或MySQL服务是否允许远程连接(若需)。通过以上步骤,即可完成Ubuntu服务器上LNMP站点的迁移。迁移后建议定期备份数据(如使用cron设置每日备份),确保站点数据安全。