如何在免費雲端部署 Python Flask 應用 ── 範例:將 Line bot 放上 Render!抽塔羅牌機器人!
部署 Python Flask / Python Flask with Render / Tarot daily fortune Line bot
✨先來葉配自己的機器人
我又寫了一個機器人,輸入文字【工作】【愛情】【今日運勢】【心理照護】,會收到當下抽到的小建議,資料是由 AI 提供,沒有任何可信度(?,純屬好玩 ㅇㅅㅇ
LINE: @578wnjfw
還有快速選單~~ (進階了(*´▽`*))
(這次一樣使用免費的 server,沒收到回覆的話表示額度已經用完…。)
✨ Render 可以做到哪些事情?
- 可以架設寫好的 API
- 部署前端網站
- 支援 Node.js、Python、Ruby、Go、Django、Rails
- 透過 Github Gitlab 進行 CI/CD
- 排程任務
- 當資料庫(PostgreSQL)
✨正文開始
主要會是提供步驟以及常遇到的問題
✨ 前置作業
✨ 建立專案
- 打開 Github,建立一個空的 Repo
- 將 Repo clone 下來,可以使用
git clone {URL}
的指令 - 開始終端機,路徑為該資料夾
- 在資料中新增檔案
app.py
,放主程式 - 新增
requirements.txt
,用於放所有需要的套件 - 新增
.gitignore
,放要忽略的檔案名稱
✨ 建立環境變數
如果專案有用到環境變數(密鑰、token 等),需要使用 load_dotenv 套件,並將密碼等放在.env檔案中,這裡不贅述。
from dotenv import load_dotenv
load_dotenv()
✨ 佈署到 Render
STEP 1:登入 Render,點擊「New +」,選擇 Web Service
STEP 2:連接 Github 帳號後,可以看到已授權的 Repo,(若無特別設定應該全部的 Repo 都會在這裡出現),點「Connect」
STEP 3✨:輸入專案名稱,其他的不需要調整,往下滑會看到 Start Command,請輸入 python app.py
也就是你啟動專案的指令(用 fast api 的話會是別的,請參考這篇)
✨注意:在 app.py 中,啟動專案的 port 跟 host,需要設定app.run(host=”0.0.0.0", port=10000)
才符合 Render 的格式,我在這裡卡了好久( ´•̥̥̥ω•̥̥̥` )
app.run(host="0.0.0.0", port=10000)
STEP 4✨:由於我們有使用環境變數,需要在 Environment Variables 輸入有用到的變數值。
STEP 5✨:接著會自動部署,若是遇到問題,則將修改好的 code,push 到github,然後點 Render 專案中的 手動部署,就會再跑一次。
STEP 6✨:成功的話就會得到URL啦~~~
\ 完成 /
碎碎念
這周末要去玉山了,希望不要遇到下大雨或地震 (❁´ω`❁)