Flask建置CICD_Max行銷誌

【Flask 教學】實作 Flask + GitHub Action CI/CD

ㄧ. 什麼是 CI / CD ? 什麼是 CI: CI 是持續整合 (Continuous Integration) 的縮寫,簡單來說就是當提交的程式時,先建置起來,並且跑個測試,確保上傳上來的程式不會影響到專案內的其他功能。 什麼是 CD: CD 是持續交付 (Continuous Delivery) 和持續部署 (Continuous Deployment) 的縮寫,當完成先前階段的 CI 後,才會進入 CD 階段,將程式部署並且交付到使用者手中,讓服務永遠都是最新版本的。 為甚麼要有 CI / CD? 把需要重複的事情 (測試、部署) 交給電腦處理,就可以不用每次都輸入同樣的指令,省下人工的時間。 關於 CI / CD 解說可以參考文章: 踏入 CI/CD 的世界 – 觀念 […]

閱讀全文
uwsgi 配置教學講解_Max行銷誌

【Python 教學】uWSGI 配置參數講解

前言 前面兩集我們介紹了 Flask run 之後,會發生了什麼事?Flask 自帶的 Web Server 只適合測試環境使用,那正式環境怎麼辦?什麼是 WSGI、uWSGI 和 Nginx?有興趣的朋友可以參考之前的文章: 聊聊 Flask 為甚麼需要 WSGI 與 Nginx 淺談 Nginx 基本配置、負載均衡、緩存和反向代理 那這集要來介紹 uWSGI 還有哪些好用的常用配置參數! 如果還沒安裝 uWSGI 的朋友,可以透過以下指令 ㄧ. 常用 uWSGI 配置介紹 uWSGI 支援的配置格式很多,像是 yaml、JSON、XML 或是 ini,而本篇將以 ini 格式為主,這份是我常用的 uwsgi 配置,使用 ini 的格式: 二. uWSGI 配置參數解釋 這份是參考 uWS […]

閱讀全文
nginx配置_均衡負載_緩存_Max行銷誌

淺談 Nginx 基本配置、負載均衡、緩存和反向代理

前言 Nginx 是一個反向代理伺服器,就像是餐廳的櫃檯,接收所有客戶的需求後,分配給廚師處理。這樣的好處可以保護後方的 Web Server 被攻擊。同時,還可以提供負載平衡 (Load Balance)、快取以及 HTTPS 憑證等功能。 使用 Nginx 好處如下: 隱藏伺服器真實 IP 負載均衡 提高訪問速度:提供靜態內容和緩存服務 提供安全保障:更容易排查惡意軟體等 一. 安裝 Nginx ▍Mac 的朋友:透過 Homebrew 安裝 Nginx ▍Windows 的朋友: 透過Nginx 官方網站下載 ▍Linux 的朋友: 二. 基本 Nginx 介紹 1. 基本操作 Nginx 指令 2. 查詢 Nginx 文件位置 3. Nginx 資料架構 4. Nginx 變數介紹 […]

閱讀全文
GCP部署Flask_Nginx_uWSGI_Max行銷誌

【Flask 教學】實作 GCP 部署 Flask + Nginx + uWSGI

前言 在 GCP 上部署 Flask 時踩了不少的雷坑,所以此篇寫得特別詳細,照著步驟走一定可以部署完成!期望能幫助到也正在學習如何在 GCP 上部署 Flask + Nginx + uWSGI 架設 Server 的朋友! 另外之前也有寫過一篇用 Docker 部署 Flask 的文章 (附完整程式碼),推薦給大家: 【Flask教學系列】實作 Docker-compose (Flask+Nginx+PostgreSQL) 一. GCP 建置虛擬主機 1.1 在 GCP 上新建立一台 VM,我們這次選用 f1-micro (1 vCPU,614 MB記憶體) 最小型的主機,每個月會花費 150 台幣左右。 1.2 作業系統選用預設的 Debian 版本是 Linux 10 (buster) […]

閱讀全文
flask_docker_compose_Max行銷誌

Flask 實作 Docker-compose (Flask+Nginx+PostgreSQL)

ㄧ. 首先安裝 Docker 教學 ▍Mac 的朋友 Docker 官網下載 Docker Desktop on Mac ▍Windows 的朋友 Docker 官網下載 Docker Desktop on Windows ▍Linux 的朋友 Linux 安裝 Docker 指令 Linux 安裝 Docker Compose 指令 以上安裝 docker 指令參考於 Docker 官網 install 頁 二. 進入 Flask 實作 docker-compose 教學 在前面兩篇我們介紹了使用 Dockerfile 來建立 Flask Server 和 Nginx,並使用指令 docker run 來運行,但會需要輸入很多次指令才能讓一個完整的 Project 啟動。所以我們今天要介紹 […]

閱讀全文