部署 Laravel 项目
这篇文章将会教你如何在 Zeabur 上部署你的 Laravel 项目。
第一步:环境配置
你可以先在本地测试构建,确保你的项目可以正常运行。
你必须提供所使用的 PHP 版本给 Zeabur 作为运行环境,将版本资讯写在composer.json
中,如以下所示:
{
"require": {
"php": "8.1"
}
}
第二步: 建立项目(可选)
首先,你需要在本地开发环境初始化一个 Laravel 项目,我们可以按照 Laravel 官方文件 的指示来完成这个步骤,
创建完成后,为其初始化一个 Git 仓库并部署到你的 GitHub 上。
第三步:部署 Laravel 项目
在你的项目中,点击 Deploy service 或者 Add new service 按钮,选择 Deploy your source code.
搜索想要部署的 Laravel 代码仓库,点击导入,你的 Laravel 应用就将自动开始部署。
第四步:为你的Laravel項目添加APP_KEY
环境变量
每次 Laravel 开发人员新建或克隆 Laravel 应用时,生成 application key 或 APP_KEY 是最重要的初始步骤之一。
切换到項目环境变数设置页面,并输入你的APP_KEY
环境变量。
你可以通过以下指令为你的Laravel产生一个 APP_KEY
。
php artisan key:generate
连接 MySQL 数据库
通常情况下,您的 Laravel 项目会需要连接 MySQL 数据库。您可以通过以下步骤连接到 MySQL 数据库。
-
首先,您需要在您的 Laravel 项目中安装
ext-pdo_mysql
扩展,以便 Zeabur 可以为您启用 MySQL 的 PHP 支持。在您的本地环境中,请使用以下命令安装这个扩展:composer require ext-pdo_mysql
然后,提交新的
composer.json
和 lockfile,然后推送到您的 GitHub 上。 -
创建 MySQL 服务,然后在您的本地环境中运行以下命令,将 table 等设置 migrate 到 Zeabur 上。
export DATABASE_URL=mysql://<username>:<password>@<host>:<port>/<database> php artisan migrate
上述
<username>
、<password>
、<host>
、<port>
、<database>
都是您的 MySQL 服务信息,您可以在 MySQL 服务页面的“Instruction”部分找到。 -
在您 Zeabur 上的 Laravel 服务页面上,创建一个 DATABASE_URL 环境变量,内容如下:
mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}
${MYSQL_USER}
等变量的含义可以参考 MySQL 文档的环境变量章节。
自动优化
Zeabur 在构建 Laravel 服务时,会运行这些优化指令 1:
php artisan optimize
php artisan config:cache
php artisan event:cache
php artisan route:cache
php artisan view:cache
您可以使用 PHP_OPTIMIZE=false
变量来关闭这些自动优化命令,然后再使用自定义编译命令微调您的优化流程。
Vite / Laravel Mix 支持
Zeabur 会在 package.json
中存在 build
指令时,自动运行 npm install
和 npm run build
。考虑到 Vite 和 Laravel Mix 默认都会在 package.json
中设置 build
指令,Zeabur 会在构建 Laravel 服务时自动编译这些 assets。