在Ubuntu上迁移LNMP(Linux, Nginx, MySQL, PHP)站点涉及多个步骤,包括备份数据、迁移文件和数据库、更新配置等。以下是一个详细的迁移指南:
sudo tar -czvf /path/to/backup/site_files.tar.gz /var/www/html
mysqldump -u root -p --all-databases > /path/to/backup/all_databases.sql
输入MySQL root密码后,数据库备份将保存在指定路径。
使用scp或其他文件传输工具将备份文件传输到新服务器:
scp /path/to/backup/site_files.tar.gz user@new_server_ip:/path/to/backup/
scp /path/to/backup/all_databases.sql user@new_server_ip:/path/to/backup/
登录到新服务器并解压备份的站点文件:
ssh user@new_server_ip
cd /path/to/backup
sudo tar -xzvf site_files.tar.gz -C /
在新服务器上导入数据库备份:
mysql -u root -p < /path/to/backup/all_databases.sql
输入MySQL root密码后,数据库将被导入。
确保新服务器上的Nginx配置指向正确的站点目录。编辑Nginx配置文件(通常位于/etc/nginx/sites-available/):
sudo nano /etc/nginx/sites-available/your_site.conf
更新root指令以指向新的站点目录:
server {
listen 80;
server_name your_domain.com;
root /var/www/html/your_site;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
}
location ~ /\.ht {
deny all;
}
}
确保PHP-FPM配置正确。编辑PHP-FPM配置文件(通常位于/etc/php/7.4/fpm/pool.d/www.conf):
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
确保listen指令设置为Unix socket或TCP端口:
listen = /var/run/php/php7.4-fpm.sock
在新服务器上重启Nginx和PHP-FPM服务以应用更改:
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm
在浏览器中访问新服务器的IP地址或域名,确保站点正常运行。
确认站点迁移成功后,可以删除备份文件以释放空间:
rm /path/to/backup/site_files.tar.gz
rm /path/to/backup/all_databases.sql
通过以上步骤,你应该能够成功地将LNMP站点从一台Ubuntu服务器迁移到另一台。