该脚本可在5分钟内完成Laravel项目一键部署,自动执行环境检测、依赖安装、项目拉取、配置生成和服务启动;需root或sudo权限,支持Ubuntu/CentOS,要求关闭SELinux/AppArmor,PHP 8.2+为必需前提。

你想在新服务器上5分钟内跑起一个Laravel项目,而不是花两小时查PHP版本、改Nginx配置、调权限、翻.env报错日志——这个脚本就是为这种场景写的,它不依赖宝塔或小皮,纯命令行,一次执行,自动完成环境检测→依赖安装→项目拉取→配置生成→服务启动全流程。
准备阶段:确认系统与权限
用root或具备sudo权限的用户登录目标服务器,确保系统为Ubuntu 22.04/24.04或CentOS 7/8。脚本会自动判断发行版并适配包管理器,但【必须关闭SELinux(CentOS)或AppArmor(Ubuntu)】,否则后续storage目录写入会静默失败。
运行以下命令验证基础环境:
curl -s https://raw.githubusercontent.com/laravel-deploy/scripts/main/check-env.sh | bash
该检查脚本会输出PHP最低版本、curl、git、unzip是否就绪,并标出缺失项。若提示“PHP not found”,说明系统未预装PHP,需先手动安装PHP 8.2+核心扩展(OpenSSL、PDO、Mbstring等),否则脚本将中断退出。
一键部署:执行主脚本
方法一:直接拉取并执行(推荐)
curl -s https://raw.githubusercontent.com/laravel-deploy/scripts/main/deploy.sh | sudo bash -s -- --domain example.com --project-path /var/www/myapp
这一步会自动下载deploy.sh并以sudo权限运行,--domain指定绑定域名(影响Nginx配置和APP_URL),--project-path指定项目根目录(必须为空或不存在的路径)。
方法二:分步执行(便于调试)
cd /tmp && curl -O https://raw.githubusercontent.com/laravel-deploy/scripts/main/deploy.sh && chmod +x deploy.sh && sudo ./deploy.sh --domain staging.example.com --project-path /var/www/staging
注意:脚本执行过程中会暂停三次等待人工确认——分别是数据库密码设置、是否启用HTTPS、是否立即运行migrate。每次暂停时终端会高亮显示[Y/n],输入y回车继续,输入n跳过该步骤。
部署后验证与接管
第一步:检查服务状态
sudo systemctl is-active nginx → 应返回 active
sudo systemctl is-active php8.2-fpm → 应返回 active
第二步:验证Laravel响应
curl -I http://example.com → 返回 HTTP/1.1 200 OK 即表示Web服务通达
第三步:进入项目目录接管后续操作
cd /var/www/myapp && sudo -u www-data php artisan tinker
此时你已获得完全控制权:可手动运行php artisan migrate、修改.env、添加自定义Artisan命令、配置队列监听——脚本只负责“把车发动并挂上D档”,方向盘和油门交给你。


















