python3安裝flask
1. 如何部署簡單python + flask應用
這是一篇教使用python和flask框架來部署最基本的後端服務的文章,適用於想用python開發後台程序的同學。閱讀這篇文章需要python和flask的基本知識,以及構建後台程序所需要的網路常識。
文章中出現的概念可以看另一篇入門文章。
所需工具:
python3.4
flask
nginx
gunicorn
supervisor
系統環境:
Ubuntu 14.04LTS
我們先寫一個最基本的flask應用:
demo.py
from flask import Flask app = Flask(**name**) @app.route('') def index(): return 'Hello World.'
if __name__ == __main__: app.run()
運行這個py文件,打開瀏覽器訪問127.0.0.1:5000就能看到顯示Hello World的頁面 .
如果讓這個flask引用監聽來自公網ip的請求,理論上你跑此程序的機器就相當於一個伺服器了,然而這個伺服器並不完美,所以我們需要nginx和gunicorn來增加它的功能,讓它真刀真槍上生產環境的時候能按要求運行。
flask自帶的WSGI框架性能很差勁,只能適用於開發環境調試使用。我們用專業一點的gunicorn(還有很多其他優秀的框架)替代flask自帶的WSGI框架。
配置完後,通過命令』/usr/local/bin/gunicorn -b127.0.0.1:5000『啟動應用。打開瀏覽器訪問127.0.0.1:5000,同樣能夠得到返回頁面
然而gunicorn也僅僅是一個python的WSGI框架而已,要讓它真正處理來自互聯網的各類訪問功能還是有點欠缺,這時候就需要用到大名鼎鼎的nginx 伺服器來替gunicorn遮風擋雨了。
Ubuntu下安裝nginx可以用命令
sudo apt-get install nginx
安裝後需要進行下配置:
cd /etc/nginx/sites-available
sudo vi test (test為配置名稱,可以根據自己項目進行命名)
test文件的配置為:
server {
listen 80; # 監聽80埠
location / {
proxy_pass http://127.0.0.1:5000; # 代理本機127.0.0.1:5000的服務
}
location /static {
alias /home/ubuntu/myproject/myblog/app/static; # 負載均衡
}
}cd ..
cd sites-enable
sudo ln -s ../sites-available/lwhile . (創建軟鏈接,別漏掉最後的.)
sudo service nginx reload
sudo service nginx restart
這樣nginx的基本配置文件就寫好了 接下來我們配置進程管理工具supervisor supervisor可以在後面啟動你的python進程,這樣很方便
1.cd /etc/supervisor/conf.d
2.sudo vi test.conf (test為文件名)
[program:test]
command = /usr/local/bin/gunicorn -b127.0.0.1:5000 /home/ubuntu/myproject/test.py
3.sudo supervisorctl
4.reload
5.start test
如果一切正常,做完這所有步驟之後,現在公網的ip訪問你的主機,就可以打開你的flask應用了
2. 快速上手python的簡單web框架flask
Python 在提供 web 服務方面具有獨特優勢,尤其適合與已有的 Python 模型演算法集成,形成一個高效、簡潔的解決方案。Python 有許多 web 框架,包括 Django 和 Flask 等。本系列文章將聚焦於 Flask 這個輕量級框架。
一個典型的 web 服務包括接收前端請求、執行計算邏輯以及返回結果。Flask 框架的核心功能是實現這一流程,提供了路由跳轉、HTTP/HTTPS 請求處理以及響應生成。配合現代前後端分離技術,Flask 能快速搭建出功能完善的 web 應用。
Flask 的核心功能是路由支持與模板語言(如 Jinja2)。它的輕量化設計使得開發快速且高效,同時支持豐富的擴展功能,如資料庫管理、緩存、日誌記錄等。
為了啟動 Flask 應用,首先需要安裝 Python 3.7 及以上版本。使用虛擬環境(如 Python 的venv 工具)可以更好地管理項目依賴,避免環境沖突。創建虛擬環境後,安裝 Flask 框架即可。
創建一個 Flask 應用通常從定義路由開始。通過 `@app.route` 裝飾器,可以將函數與特定 URL 關聯,實現 HTTP 方法(如 GET)的請求處理。在函數內部,可以執行計算邏輯並返回響應內容。
在 Flask 中運行應用有多種方式。通過 IDE(如 PyCharm)運行時,系統會自動配置環境變數,如 FLASK_APP、FLASK_ENV 和 FLASK_DEBUG 等。默認情況下,應用通過 `http://127.0.0.1:5000` 訪問,運行成功後,可看到響應內容。
若需通過命令行啟動應用,使用 `flask run` 命令即可,需指定應用名稱。Flask 支持多種運行方式,靈活適應不同的開發和部署需求。
路由定義是 Flask 應用的關鍵部分,通過 `@app.route` 可以指定 URL 和 HTTP 方法,支持參數化路由和動態參數。路由參數類型(如 path、string 等)可以自定義,以滿足不同場景需求。
在 Flask 應用中,靜態文件的管理非常重要。通過創建靜態文件目錄(如 static),可以輕松處理 CSS、JavaScript 和圖片等資源。使用 `url_for` 方法構建 URL,可以實現靈活的資源訪問。
為了構建復雜、交互性強的頁面,Flask 提供了模板系統,如 Jinja2。通過 `render_template` 方法,可以將動態數據與靜態 HTML 結合,生成完整的網頁。模板文件允許插入變數和執行邏輯,提高頁面的可維護性和擴展性。
掌握 Flask 基礎知識後,開發者能夠快速構建出功能豐富的 web 應用,同時享受 Python 語言的簡潔與高效。Flask 的靈活性和易用性使其成為 Python 開發者構建 web 應用的理想選擇。