部署 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 文档的环境变量章节。
Laravel Octane 支持
Zeabur 内置 Laravel Octane 搭配 Swoole 服务器的支持,不过您需要在 zbpack.json
上设置要使用的服务器:
{
"laravel": {
"octane": {
"server": "swoole"
}
}
}
您也可以使用 ZBPACK_LARAVEL_OCTANE_SERVER=swoole
环境变量,在服务范围设置 Laravel Octane。