iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
2
Software Development

30天開發與部署 Laravel 專案系列 第 23

GCP PaaS : App Engine

若想部署一個 Laravel專案給外部的人使用,找一個提供雲端運算的平台,可以省去很多軟硬體設備的開銷與加速開發時程。

雲端運算服務模式

常見3種分類如下:

Software as a Service

  • 簡稱 SaaS
  • 使用者只要連上網路就能用的提供的服務
  • 例如:youtube

Platform as a Service

  • 簡稱 PaaS
  • 平台整合,減少維運成本
  • 例如:GCP的 App Engine、AWS的 Elastic Beanstalk

Infrastructure as a Service

  • 簡稱IaaS
  • 提供虛擬機器(Virtual Machine,VM)給使用者
  • 例如:GCP的 Compute engine 、 AWS的 Elastic Compute

Google Cloud Platform

why GCP ? 因為他提供下列雲端運算的服務

https://ithelp.ithome.com.tw/upload/images/20201008/20125263KnsFMEdta1.png

  • App Engine : 只需添加設定檔,可直接運用服務進行部署 |可專注於程式開發,
  • Compute Engine : 高性能虛擬機器基礎設施,也就是提供vm
  • Kubernetes Engine在 Google 基礎設施下運行的 Docker 容器

建立 GCP App Engine

步驟

  1. 安裝 sdk
    https://cloud.google.com/sdk/docs/quickstart-macos?hl=zh-TW

  2. 把安裝檔放在home裡頭 (macOS系統上)

  3. gcloud init
    選擇跟gcp上的一樣的專案 (vivid-layout-283108)
    https://ithelp.ithome.com.tw/upload/images/20201008/20125263LI4JOgufbL.png

  4. 設定 app.yaml: gclound app deploy app.yaml --vivid-layout-283108
    →遇到問題,找不到 app.yaml
    直接參考這篇官方教學手動寫一個app.yaml

  5. 最後一步 gcloud app deploy
    第一次有點久 要它跑完
    https://ithelp.ithome.com.tw/upload/images/20201008/20125263xRyWjFHdYB.png

  6. 測試自訂網址
    https://ithelp.ithome.com.tw/upload/images/20201008/20125263BqLpgbH9JE.png

擴充

如果使用 APP Engine後,資料庫跟檔案儲存要如何處理?

資料庫可以使用 Cloud SQL
https://ithelp.ithome.com.tw/upload/images/20201008/20125263w30CWmXLIR.png

檔案儲存可以使用 Google Cloud Storage
https://ithelp.ithome.com.tw/upload/images/20201008/201252635BxDEKNPT2.png

參考資料
https://www.mile.cloud/zh-hant/gcp-the-most-cost-effective/
https://orangecat.tw/google-app-engine-app-example-with-laravel/
https://www.youtube.com/watch?v=KsG7gkrxVT4
https://www.youtube.com/watch?v=dZRfo5vUtgg
https://cloud.google.com/community/tutorials/run-laravel-on-appengine-standard


上一篇
Laraval Authentication (2):Passport
下一篇
GCP IaaS : Compute Engine with LNMP Environment
系列文
30天開發與部署 Laravel 專案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言