centos laravel项目如何恢复
小樊
33
2025-12-23 08:27:46
CentOS 上 Laravel 项目恢复步骤
一 准备与恢复前检查
- 确保目标服务器已安装所需运行环境:PHP(≥7.3)、Composer、MySQL/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 排查,生产环境请按策略配置)。