如何在Azure Web App实例部署Laravel-Inertia(Vue-3、PHP-8.0)项目?
Laravel Inertia 项目部署到Azure Web App 分步指引
一、前置准备
- 本地完成项目测试:执行
npm run prod确认前端资源编译正常,Laravel项目运行无报错 - 配置好本地生产环境
.env变量(APP_KEY、数据库连接等),后续需同步到Azure - 将项目推送到Git仓库(GitHub、Azure Repos均可)
二、Azure Web App基础配置
- 登录Azure门户,创建Web App实例,选择PHP 8.x及以上运行栈(匹配Laravel版本要求)
- 进入Web App的「配置」>「应用程序设置」,添加生产环境变量:
APP_ENV=productionAPP_KEY=你的本地项目APP_KEYAPP_URL=你的Azure Web App域名- 数据库相关变量(如
DB_HOST、DB_DATABASE等,根据实际数据库配置)
三、自动化构建Vue资源(两种方案可选)
方案1:自定义部署脚本(Git直接部署)
通过在项目中添加部署脚本,让Azure在部署时自动执行前端构建:
- 在项目根目录创建
.deployment文件,内容:
[config] command = bash deploy.sh
- 创建
deploy.sh脚本,包含完整部署流程:
#!/bin/bash # 安装PHP依赖 composer install --optimize-autoloader --no-dev # 安装前端依赖并编译生产资源 npm install npm run prod # Laravel生产环境优化 php artisan config:cache php artisan route:cache php artisan view:cache # 清理冗余缓存 php artisan cache:clear
- 将
.deployment和deploy.sh提交到Git仓库,配置Azure Web App的部署源为该仓库,触发部署时会自动执行脚本完成前端构建。
方案2:Azure DevOps Pipeline(适合复杂项目)
用Pipeline实现全自动化构建部署:
- 登录Azure DevOps,创建新Pipeline并关联你的Git仓库
- 编写YAML配置文件,示例:
trigger: - main # 触发部署的分支 pool: vmImage: 'ubuntu-latest' steps: - script: composer install --optimize-autoloader --no-dev displayName: '安装PHP依赖' - script: | npm install npm run prod displayName: '安装前端依赖并构建生产资源' - script: | php artisan config:cache php artisan route:cache php artisan view:cache displayName: 'Laravel生产环境优化' - task: AzureWebApp@1 inputs: azureSubscription: '你的Azure订阅名称' appName: '你的Web App实例名称' package: '$(System.DefaultWorkingDirectory)' deploymentMethod: 'auto'
- 保存并运行Pipeline,自动完成从代码拉取、资源构建到部署的全流程。
四、部署验证
- 访问Web App域名,检查页面是否正常渲染,前端CSS/JS资源是否加载正常
- 若出现静态资源404,确认Web App根目录指向
public文件夹:可在「配置」>「常规设置」>「启动命令」设置为php artisan serve --host=0.0.0.0 --port=8080 - 查看日志排查问题:在「监控」>「日志流」中查看实时错误信息
内容的提问来源于stack exchange,提问作者Sagnik Devstar
相关产品推荐
相关产品推荐

