Debian系统PHP应用迁移步骤
tar -czvf project_backup.tar.gz /var/www/html)、数据库(mysqldump -u root -p dbname > dbname.sql)及PHP配置文件(cp -r /etc/php /etc/php_backup),避免数据丢失。php-mysql、php-curl)及系统库,确保新环境支持。sudo apt update && sudo apt upgrade -y,确保系统包为最新版本。sudo add-apt-repository ppa:ondrej/php # 添加Ondrej Surý的PPA(支持多PHP版本)
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip
/etc/nginx/sites-available/your-site),添加以下内容(根据PHP版本调整fastcgi_pass路径):server {
listen 80;
server_name your-domain.com;
root /path/to/new/project;
index index.php index.html;
location / { try_files $uri $uri/ =404; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht { deny all; }
}
启用站点并重启Nginx:sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl restart nginx。sudo a2enconf php8.2-fpm)并重启服务:sudo systemctl restart apache2。rsync或scp将备份的代码复制到新服务器指定目录(如/var/www/html):rsync -avz --delete user@old-server:/path/to/old/project/ /path/to/new/project/
mysql -u root -p dbname < dbname.sql
迁移后需更新项目配置文件(如config/database.php或.env)中的数据库连接信息(主机、用户名、密码)。www-data)拥有项目目录的读写权限:sudo chown -R www-data:www-data /path/to/new/project
sudo find /path/to/new/project -type f -exec chmod 644 {} \;
sudo find /path/to/new/project -type d -exec chmod 755 {} \;
memory_limit、upload_max_filesize),修改/etc/php/8.2/fpm/php.ini或项目对应的www.conf文件,重启PHP-FPM使配置生效:sudo systemctl restart php8.2-fpm。http://your-domain.com),检查页面加载、功能链接、表单提交等是否正常。/var/log/nginx/error.log)、PHP-FPM(/var/log/php8.2-fpm.log)或项目日志(如Laravel的storage/logs/laravel.log),定位并解决问题。top、htop、New Relic)监控服务器CPU、内存、磁盘使用情况,确保新环境稳定运行。