Python: 部署到正式環境
如何在幾分鐘內將您的 Python 程式碼部署到正式環境
👋 歡迎來到 Stackhero 文件!
Stackhero 提供現成的 Python 雲端 解決方案,帶來多種好處,包括:
- 只需一個簡單的
git push,即可在幾秒鐘內 部署您的應用程式。- 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
- 享受自動備份、一鍵更新,以及簡單、透明且可預測的定價,讓您高枕無憂。
- 得益於專用的私人 VM,獲得最佳的性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘 即可嘗試 Stackhero 的 Python 雲端託管 解決方案!
Stackhero 的 Python 雲端代管服務 提供一個簡單且可靠的方式,讓您能在短短幾分鐘內將 Python 專案部署到正式環境。透過直覺化的設定流程與強大的功能,您可以專注於開發應用程式,基礎設施的細節則交由 Stackhero 處理。
主要功能包括:
- 只需一行
git push即可部署 - 支援自訂網域並自動管理 TLS 憑證(HTTPS)
- 專屬且私有的 VM,提升安全性與資料保密性
- 支援 HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIP & Brotli 壓縮、ETag,以及 TCP/UDP 埠存取
先決條件
在開始使用 Stackhero 前,請確認您的電腦已安裝 Git。
如果您的開發環境尚未建置完成,或想節省設定時間,建議您可以試用 Stackhero 的 Code-Hero。
Code-Hero 是一個易於使用、開箱即用的雲端開發平台,能直接在瀏覽器上執行,支援任何電腦、平板或手機。Code-Hero 基於 VSCode 分支,預先安裝了開發所需的各項工具,讓您無需額外設定即可立即開始撰寫程式。
Code-Hero 實例直接在瀏覽器中執行的範例
部署到 Stackhero 的步驟
將您的 Python 應用程式部署到 Stackhero 設計得非常簡單流暢。操作方式如下:
- 在 Stackhero 上建立一個 Python 服務。
- 將您的 SSH 公鑰加入 Python 服務的設定中。
- 在您的開發平台上設定
git push指令。 - 在專案中新增 Makefile。
- 將程式碼部署到正式環境。
如果您在部署過程中遇到任何問題,建議先參考「疑難排解」文件,通常能快速找到解決方案,避免不必要的挫折。
設定您的「Stackhero for Python」服務
如果您尚未啟動 Stackhero for Python 服務,可以在 Stackhero 控制台中建立一個,通常只需幾分鐘即可完成。
當您的 Python 服務啟動後,您需要將 SSH 公鑰加入服務設定。您可以透過以下指令顯示您的公鑰:
cat ~/.ssh/id_*.pub
還沒有 SSH 金鑰嗎?
您可以用以下指令產生:
ssh-keygen -t ed25519
將公鑰加入 Python 服務的步驟如下:
- 開啟 Stackhero 控制台並選擇您的 Python 服務。
- 點擊「設定」按鈕。
- 將您的 SSH 公鑰貼到「SSH 公鑰」區塊。
Python 服務設定範例
小提示:您也可以在 Stackhero 控制台的個人檔案頁面中,將 SSH 公鑰設為全域設定,這樣未來新建立的服務都會自動包含這把公鑰。請點選右上角的大頭貼,進入「您的個人檔案」,然後新增您的 SSH 公鑰。
設定部署用的 git push 指令
Stackhero 透過 Git CLI 及熟悉的 git push 指令,讓部署變得非常簡單。無需安裝額外軟體,只要設定一次 Git remote,即可開始部署。
您可以在 Stackhero 控制台的服務主頁找到您的 git remote command,格式大致如下:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
Stackhero 控制台上的 Python Git remote 指令範例
建立 Stackhero 部署用的 Makefile
為了讓 Stackhero 知道如何執行您的應用程式,請在專案根目錄下建立一個 Makefile。
如果您不熟悉
Makefile檔案與make指令,沒關係,請依照下列說明操作即可。
請在專案根目錄建立一個 Makefile,內容如下:
run:
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -
這個 Makefile 有幾個重點:
- 必須有
run規則,Stackhero 會自動執行這個規則,請勿更名。 gunicorn app:app -b 0.0.0.0:8080 --error-logfile -只是範例,請依您的應用程式需求調整。- gunicorn 指令前一定要用 Tab 字元開頭。如果出現「*** missing separator」錯誤,表示缺少 Tab。
在這個範例中,使用 Gunicorn 來啟動您的應用程式(請確認它已列在 requirements.txt 中)。-b 0.0.0.0:8080 代表監聽所有網路介面上的 8080 埠。如果您選擇其他埠號,請記得同步更新 Stackhero 控制台中的 Python 服務設定。app:app 指的是 app.py 檔案中的 app 物件。
部署您的 Python 應用程式
完成所有設定後,您就可以開始部署了。在專案目錄下執行以下指令,將程式碼推送到 Stackhero:
git push stackhero main
第一次執行這個指令時,系統會要求您確認 SSH 金鑰指紋,請輸入「yes」即可。幾秒鐘後,您的應用程式就會上線。
使用 git push 指令將 Python 程式碼部署到 Stackhero 的範例
要查看已部署的應用程式,請前往 Stackhero 控制台中「website」欄位所列的網址(通常格式為 https://<XXXXXX>.stackhero-network.com)。
就是這麼簡單,您的應用程式現在已經在正式環境上線。
部署過程遇到問題嗎?
疑難排解 區有豐富的解決方案,能協助您快速排除障礙。
結論
希望這份指南能讓您清楚且輕鬆地將 Python 程式碼部署到 Stackhero 的正式環境。有了這個基礎,您可以自信地將專案上線。
如果您想進一步探索,「進階部署用法」文件涵蓋了從不同 git 分支、標籤或 commit 部署、管理多個環境(如 staging 與 production)、以及環境變數的使用等主題。
請記得,若遇到任何問題,「疑難排解」文件隨時可以協助您快速回到正軌。