第一次學習框架,總是透過本地使用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
接著參考fly.io,部署文件,我們需要安裝他的flyctl ,文件說明連結 ,這邊我是使用 brew 套件管理工具,已經安裝完成
brew install flyctl
接著我們就可以開始執行步驟啦~這邊使用fly launch
指令完成部署
fly launch
這邊會看到需要我們填寫app name,這邊我命名為 laravel-demo-v1
接著選擇部署的地區,我這邊選擇Tokyo
選擇完畢後這邊會詢問是否直接部署,基本上如果沒有要修改相關部署檔案,可以直接選擇YES,但這裡我先不直接部署NO
Flyctl Launch
在執行會幫我們建立幾個檔案,分別是 fly.toml 、 Dockerfile及 .fly 檔案
,而每個 Fly Launch 應用程序都使用一個fly.toml文件來告訴系統如何部署它。而TOML是一種簡單的配置文件格式,連結放置這裡,有興趣可以加以研究。
執行完fly launch
之後,相關的環境變數的基本設定,都會先幫我們設定完成,相關的配置說明,可以參考這份文檔,現階段我們只專注使用flyctl工具替我們部署第一個線上版本 Laravel 專案
接著我們來執行部署啦,下圖可以看見系統正在執行推送到fly.io服務上
flyctl deploy
部署完成後,會提供app名稱跟配置好的ipv4 and ipv6跟相關資訊,這邊可以看到他替我們產生了一個網址叫做 https://laravel-demo-v1.fly.dev/
這是fly.io替我們生成的網站網址,透過這串連結我們就可以直接訪問我們的網站啦,如果需要更改域名的話,就需要再搭配額外設定,就可以讓fly.io給我們的網址替換掉,這裡域名更換會在額外寫一篇補充說明。
接著我們回到fly.io dashboard上,可以看見我們的專案已經在上面了
而Activity 這邊可以看到目前的部署次數,基本上部署上去fly.io 會替我們產生新的APP_KEY並加密
接著我們點擊Hostname 就可以透過這串網址訪問我們的網站,也可以將網址分享給朋油,讓他看看你的塞趴卷啦~
總結:以上就是簡單建立一個線上部署後的laravel網站,之後當你修改程式碼之後,只要執行flyctl deploy or fly deploy 都可以將程式碼丟上去更新,而fly.io服務是不考慮git 的,而下一篇就會說明如何將 laravel 專案設定我們的mysql 連接,讓你的資料不丟失並搭配 GITHUB CICD 去自動檢查並部署我們專案到fly.io
第一部分完成後,就可以跟著進行第二部分,搭建MySQL資料庫,避免數據丟失
點擊下列連結往第二篇,學習搭建MySQL資料庫
利用免費fly.io空間,學習如何部署第一個Laravel 專案!(二)
參考連結:
https://fly.io/docs/reference/configuration/