debian

Debian PHP服务如何迁移

小樊
40
2025-12-24 20:20:15
栏目: 编程语言

Debian PHP 服务迁移实操指南

一 迁移总览与准备

二 迁移步骤清单

  1. 安装目标环境
    • 更新索引:sudo apt update
    • 安装所需包(按需增减扩展):
      • Debian 11/12 常见组合:
        • Apache:sudo apt install php libapache2-mod-php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
        • Nginx:sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
  2. 迁移网站文件与权限
    • 解压:sudo tar -xzvf php_files_backup.tar.gz -C /
    • 权限:sudo chown -R www-data:www-data /var/www/html
  3. 迁移与调整配置
    • 配置:sudo cp -r /etc/php_backup/* /etc/php/(按需合并,避免覆盖新系统默认优化项)
    • 扩展一致性:在新环境补齐项目依赖的 php-xxx 扩展。
  4. 数据库迁移与连接信息更新
    • 导入:mysql -u root -p < all_databases.sqlpsql -U postgres -f all_databases.sql
    • 应用配置:更新 .env / config 中的 DB_HOST/DB_USER/DB_PASS/DB_NAME
  5. Web 服务器接入
    • Nginx 示例(按实际 PHP 版本调整套接字/端口):
      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;
          include fastcgi_params;
      }
      
    • Apache 示例(FPM 或 mod_php 二选一):
      • FPM:
        <FilesMatch \.php$>
            SetHandler "proxy:fcgi://unix:/var/run/php/php8.2-fpm.sock"
        </FilesMatch>
        
      • mod_php:确保加载 libapache2-mod-php 并禁用 FPM 相关处理。
  6. 启动与验证
    • 重启服务:sudo systemctl restart nginxsudo systemctl restart apache2
    • 健康检查:
      • CLI:php -vphp -m
      • Web:临时 info.php 或应用健康检查接口。
  7. 切换与回滚预案
    • 切换:更新 DNS负载均衡/反向代理 指向新实例。
    • 回滚:保留旧实例运行一段时间,异常时切回并回滚数据库/配置。

三 版本与架构差异要点

四 验证与常见问题排查

五 可选 平滑升级与替代方案

0
看了该问题的人还看了