當前位置:首頁 » 雲伺服器 » 搭建部署flask到伺服器

搭建部署flask到伺服器

發布時間: 2024-09-17 04:48:25

① 求助,用flask搭android伺服器

最近這些年,REST已經成為web services和APIs的標准架構,很多APP的架構基本上是使用RESTful的形式了。 本文將會使用python的Flask框架輕松實現一個RESTful的服務。 REST的六個特性: Client-Server:伺服器端與客戶端分離。 Stateless(無狀態

② python輕量框架--Flask(入門教程)

1.建立: F:Pythonflask文件夾路徑
2.安裝virtualenv,在此路徑下打開命令行窗口輸入:

3.新建一個目錄,並在里邊創建virtualenv環境,在DOS下

如圖:

這時你創建的myproject文件夾裡面就多了一個venv文件夾:

4.激活虛擬環境

現在命令行前面多了個(venv)表示你在venv環境內

5.在virtualenv里安裝Flask

完成。如圖:

6.驗證是否安裝,你可以進入 Python 解釋器,嘗試導入 Flask:

如果沒有報錯,那麼就安裝成功了~如圖:

1.在myproject文件夾下打開命令行:

cd app #進入app文件夾
mkdir static
mkdir templates

我們的應用程序包是放置於 app 文件夾中。子文件夾 static 是我們存放靜態文件像圖片,JS文件以及樣式文件。子文件夾 templates 顯然是存放模板文件。

2.為我們的 app 包(文件 app/ init .py )創建一個簡單的初始化腳本:

上面的腳本簡單地創建應用對象,接著導入視圖模塊,該模塊我們暫未編寫。

視圖是響應來自網頁瀏覽器的請求的處理器。在 Flask 中,視圖是編寫成 Python 函數。每一個視圖函數是映射到一個或多個請求的 URL。

3.讓我們編寫第一個視圖函數(文件 app/views.py ):

其實這個視圖是非常簡單,它只是返回一個字元串,在客戶端的網頁瀏覽器上顯示。兩個 route 裝飾器創建了從網址 / 以及 /index 到這個函數的映射。

4.能夠完整工作的 Web 應用程序的最後一步是創建一個腳本,啟動我們的應用程序的開發 Web 伺服器。讓我們稱這個腳本為 run.py,並把它置於根目錄:

這個腳本簡單地從我們的 app 包中導入 app 變數並且調用它的 run 方法來啟動伺服器。請記住 app 變數中含有我們在之前創建的 Flask 實例。

5.要啟動應用程序,您只需運行此腳本(run.py)

如圖:

6.在伺服器初始化後,它將會監聽 5000 埠等待著連接。現在打開你的網頁瀏覽器輸入如下 URL:

另外你也可以使用這個 URL:

你看清楚了路由映射是如何工作的嗎?第一個 URL 映射到 /,而第二個 URL 映射到 /index。這兩個路由都關聯到我們的視圖函數,因此它們的作用是一樣的。如果你輸入其它的網址,你將會獲得一個錯誤,因為只有這兩個 URL 映射到視圖函數。

你可以通過 Ctrl-C 來終止伺服器

入門就到這里,比較簡單的。
下一章:
python輕量框架--Flask(模板詳細版)

③ 如何把css,js文件發布到伺服器上flask

flask的靜態文件是位於應用的 /static 中的

你可以直接在html模板中引用該路徑,如下:

<link href="/static/css/demo.css" rel="stylesheet" type="text/css" />

url_for 構造路徑

當然,也可使用 url_for 構造,代碼如 url_for("static",filename="css/demo.css")

更改上述代碼及模板文件,再次運行並查看

④ 阿里雲伺服器部署flask項目

當我們執行下面的hello.py時,使用的flask自帶的伺服器,完成了web服務的啟動。在生產環境中,flask自帶的伺服器,無法滿足性能要求,我們這里採用Gunicorn做wsgi容器,來部署flask程序。Gunicorn(綠色獨角獸)是一個Python WSGI的HTTP伺服器。從Ruby的獨角獸(Unicorn )項目移植。該Gunicorn伺服器與各種Web框架兼容,實現非常簡單,輕量級的資源消耗。Gunicorn直接用命令啟動,不需要編寫配置文件,相對uWSGI要容易很多。

區分幾個概念

WSGI:全稱是Web Server Gateway Interface(web伺服器網關介面),它是一種規范,它是web伺服器和web應用程序之間的介面。它的作用就像是橋梁,連接在web伺服器和web應用框架之間。

uwsgi:是一種傳輸協議,用於定義傳輸信息的類型。

uWSGI:是實現了uwsgi協議WSGI的web伺服器。

我們的部署方式: nginx + gunicorn + flask

web開發中,部署方式大致類似。簡單來說,前端代理使用Nginx主要是為了實現分流、轉發、負載均衡,以及分擔伺服器的壓力。Nginx部署簡單,內存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。

正向代理 :請求經過代理伺服器從區域網發出,然後到達互聯網上的伺服器。

特點 :服務端並不知道真正的客戶端是誰。

反向代理 :請求從互聯網發出,先進入代理伺服器,再轉發給區域網內的伺服器。

特點 :客戶端並不知道真正的服務端是誰。

區別 :正向代理的對象是客戶端。反向代理的對象是服務端。

查看命令行選項 : 安裝gunicorn成功後,通過命令行的方式可以查看gunicorn的使用信息。

直接運行

指定進程和埠號 : -w: 表示進程(worker)。 -b:表示綁定ip地址和埠號(bind)。--access-logfile:表示指定log文件的路徑

作為守護進程後台運行

阿里雲伺服器默認安裝到 /user/sbin/ 目錄,進入目錄,啟動 ngnix:

Ubuntu 上配置 Nginx 也是很簡單,不要去改動默認的 nginx.conf 只需要將/etc/nginx/sites-available/default文件替換掉就可以了。
新建一個 default 文件,添加以下內容:

修改完成後重啟nginx即可。

Ubuntu 上配置 Nginx 另一種方法,cd 到 /etc/nginx/conf.d 文件夾,新建 xxx.conf 文件(xxx 可以是項目名,只要是 .conf 文件即可),寫入以下內容:

需要監聽 https 請求時,寫入以下內容:

熱點內容
伺服器換位置了ip地址怎麼換 發布:2024-09-19 09:33:50 瀏覽:798
javarest 發布:2024-09-19 09:28:43 瀏覽:753
密碼子的原料是什麼 發布:2024-09-19 09:11:42 瀏覽:348
半夜編程 發布:2024-09-19 09:11:36 瀏覽:104
海康威視存儲卡質量如何 發布:2024-09-19 08:55:35 瀏覽:941
python3默認安裝路徑 發布:2024-09-19 08:50:22 瀏覽:517
環衛視頻拍攝腳本 發布:2024-09-19 08:35:44 瀏覽:419
sqlserveronlinux 發布:2024-09-19 08:16:54 瀏覽:257
編程常數 發布:2024-09-19 08:06:36 瀏覽:953
甘肅高性能邊緣計算伺服器雲空間 發布:2024-09-19 08:06:26 瀏覽:163