利用免費fly.io空間,學習如何部署第一個Laravel 專案!(一)

2023/08/28閱讀時間約 4 分鐘

第一次學習框架,總是透過本地使用XAMPP or MAMP工具進行開發練習,但為了將自己練習的小專案部署到線上主機DEMO給身邊朋油看,就得需要額外先了解學習GCP or AWS,但一不小心亂搞就會產生額外費用(亂搞結果收費爆掉的過來人...),後來發現好物,那就是fly.io 啦,該主機商提供三個部署環境及mysql 3GB內空間免費的方案,很適合小專案練習試錯部署~接下來我們就開始實作照著步驟部署第一個 Laravel 線上專案吧~附上fly.io 官方網站

首先我們先在本地創建一個Laravel 專案並命名為 demo

composer create-project laravel/laravel demo

接著我們先確認本地跑專案是可以正常執行的,下圖為執行後本地畫面

// 切換到專案資料夾​
cd demo

//​ 本地啟動專案
php artisan serve
raw-image

接著參考fly.io,部署文件,我們需要安裝他的flyctl ,文件說明連結 ,這邊我是使用 brew 套件管理工具,已經安裝完成

brew install flyctl​
raw-image

接著我們就可以開始執行步驟啦~這邊使用fly launch指令完成部署

fly launch

這邊會看到需要我們填寫app name,這邊我命名為 laravel-demo-v1

raw-image

接著選擇部署的地區,我這邊選擇Tokyo

raw-image

選擇完畢後這邊會詢問是否直接部署,基本上如果沒有要修改相關部署檔案,可以直接選擇YES,但這裡我先不直接部署NO

raw-image

Flyctl Launch在執行會幫我們建立幾個檔案,分別是 fly.toml 、 Dockerfile及 .fly 檔案,而每個 Fly Launch 應用程序都使用一個fly.toml文件來告訴系統如何部署它。而TOML是一種簡單的配置文件格式,連結放置這裡,有興趣可以加以研究。

執行完fly launch之後,相關的環境變數的基本設定,都會先幫我們設定完成,相關的配置說明,可以參考這份文檔,現階段我們只專注使用flyctl工具替我們部署第一個線上版本 Laravel 專案

接著我們來執行部署啦,下圖可以看見系統正在執行推送到fly.io服務上

flyctl deploy​
raw-image

部署完成後,會提供app名稱跟配置好的ipv4 and ipv6跟相關資訊,這邊可以看到他替我們產生了一個網址叫做 https://laravel-demo-v1.fly.dev/ 這是fly.io替我們生成的網站網址,透過這串連結我們就可以直接訪問我們的網站啦,如果需要更改域名的話,就需要再搭配額外設定,就可以讓fly.io給我們的網址替換掉,這裡域名更換會在額外寫一篇補充說明。

raw-image

接著我們回到fly.io dashboard上,可以看見我們的專案已經在上面了

raw-image

而Activity 這邊可以看到目前的部署次數,基本上部署上去fly.io 會替我們產生新的APP_KEY並加密

raw-image

接著我們點擊Hostname 就可以透過這串網址訪問我們的網站,也可以將網址分享給朋油,讓他看看你的塞趴卷啦~

raw-image

總結:以上就是簡單建立一個線上部署後的laravel網站,之後當你修改程式碼之後,只要執行flyctl deploy or fly deploy 都可以將程式碼丟上去更新,而fly.io服務是不考慮git 的,而下一篇就會說明如何將 laravel 專案設定我們的mysql 連接,讓你的資料不丟失並搭配 GITHUB CICD 去自動檢查並部署我們專案到fly.io

第一部分完成後,就可以跟著進行第二部分,搭建MySQL資料庫,避免數據丟失

點擊下列連結往第二篇,學習搭建MySQL資料庫

利用免費fly.io空間,學習如何部署第一個Laravel 專案!(二)


參考連結:

fly.io 官網

https://fly.io/docs/laravel/

https://toml.io/cn/v1.0.0

https://fly.io/docs/reference/configuration/


13會員
37內容數
學涯無止境,透過每日or每週模仿學習筆記,不管是哪些領域也好,總有一天也可以從菜雞變小雞
留言0
查看全部
發表第一個留言支持創作者!