温馨提示×

centos laravel项目如何恢复

小樊
33
2025-12-23 08:27:46
栏目: 智能运维

CentOS 上 Laravel 项目恢复步骤

一 准备与恢复前检查

  • 确保目标服务器已安装所需运行环境:PHP(≥7.3)ComposerMySQL/MariaDB,以及 Web 服务(如 Nginx/Apache)。
  • 准备好备份包:项目文件压缩包(.tar.gz)数据库 SQL 备份(.sql)
  • 建议先备份当前环境与数据库,避免不可逆覆盖。
  • 将备份文件上传至服务器(如 /backup),并规划好项目部署目录(如 /var/www/html/your-app)。

二 恢复项目文件

  • 解压项目到目标目录(注意末尾的**点号 .**表示当前目录内容):
    tar -xzvf /backup/laravel_project_backup.tar.gz -C /var/www/html/your-app
  • 若解压后目录层级多了一层,可进入目录后移动内容到上层:
    cd /var/www/html/your-app && mv * …/ && rmdir your-app
  • 设置目录属主与权限(以 nginx:nginx 为例,按实际运行用户调整):
    sudo chown -R nginx:nginx /var/www/html/your-app
    sudo chmod -R 755 /var/www/html/your-app/storage
    sudo chmod -R 755 /var/www/html/your-app/bootstrap/cache
  • 如运行用户为 apache,将上面命令中的 nginx 替换为 apache

三 恢复数据库

  • 登录数据库并创建同名数据库(如尚未创建):
    mysql -u root -p -e “CREATE DATABASE IF NOT EXISTS your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;”
  • 导入备份的 SQL 文件:
    mysql -u your_db_user -p your_database < /backup/laravel_project_database_backup.sql
  • 导入完成后,核对表和数据是否完整。

四 配置与依赖恢复

  • 配置 .env:复制示例并编辑数据库连接信息,确保与恢复后的库一致:
    cp .env.example .env

    编辑 .env 中的 DB_CONNECTION、DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD

  • 生成应用密钥:
    php artisan key:generate
  • 安装 Composer 依赖:
    composer install --optimize-autoloader --no-dev
  • 执行数据库迁移与数据填充(如备份前项目使用了迁移与填充):
    php artisan migrate --force
    php artisan db:seed --force
  • 清除与重建缓存:
    php artisan config:clear
    php artisan cache:clear
    php artisan route:clear
    php artisan view:clear

    生产环境可重建优化缓存

    php artisan config:cache
    php artisan route:cache
    php artisan view:cache

五 Web 服务配置与验证

  • Web 服务器根目录必须指向 public
    • Nginx 示例:root /var/www/html/your-app/public;
    • Apache 示例:DocumentRoot /var/www/html/your-app/public;
  • 重启服务并验证:
    sudo systemctl restart php-fpm
    sudo systemctl restart nginx 或 sudo systemctl restart httpd
  • 访问站点与接口,查看 storage/logs/laravel.log 是否有异常;如有权限或 SELinux 限制,按需调整(例如临时 setenforce 0 排查,生产环境请按策略配置)。

0