部署 Laravel 專案
這篇文章將會教你如何在 Zeabur 上部署你的 Laravel 專案。
第一步:環境配置
你可以先在本機測試建置,確保你的專案可以正常運作。
你必須提供所使用的 PHP 版本給 Zeabur 作為運作環境,將版本資訊寫在composer.json
中,如以下所示:
{
"require": {
"php": "8.1"
}
}
第二步: 建立專案(可選)
首先,你需要在本機開發環境初始化一個 Laravel 專案,我們可以按照 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
然後 commit 新的
composer.json
和 lock 檔案,接著 push 到你的 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。