Flask 2+Vue.js 3實(shí)戰(zhàn)派——Python Web開(kāi)發(fā)與運(yùn)維
定 價(jià):118 元
- 作者:楊永剛
- 出版時(shí)間:2024/6/1
- ISBN:9787121478611
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:456
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)主要介紹了Flask編程開(kāi)發(fā)與運(yùn)維過(guò)程中涉及的方法、技巧和實(shí)戰(zhàn)經(jīng)驗(yàn),共5篇。"第1篇 基礎(chǔ)”介紹用Flask開(kāi)發(fā)Web應(yīng)用的基礎(chǔ)知識(shí);"第2篇 后臺(tái)項(xiàng)目實(shí)戰(zhàn)”通過(guò)開(kāi)發(fā)一個(gè)商城系統(tǒng)的后臺(tái)來(lái)融合前面章的知識(shí)點(diǎn);"第3篇 進(jìn)階”通過(guò)Flask Rest Framework框架來(lái)設(shè)計(jì)和實(shí)現(xiàn)RESTful風(fēng)格的接口,以及分層的自動(dòng)化測(cè)試和基于Redis的緩存技術(shù);"第4篇 前臺(tái)項(xiàng)目實(shí)戰(zhàn)”使用前后端分離的方式開(kāi)發(fā)商城系統(tǒng)前臺(tái),涉及Vue.js、Axios、Vue Router、Vuex、RESTful接口等技術(shù)。"第5篇 部署運(yùn)維”涉及Flask的傳統(tǒng)部署,F(xiàn)lask的Docker部署,持續(xù)集成,持續(xù)交付和持續(xù)部署,運(yùn)維監(jiān)控。本書(shū)通過(guò)完整的商城系統(tǒng)實(shí)例,融合了Flask開(kāi)發(fā)中涉及的知識(shí)點(diǎn);通過(guò)大量實(shí)例手把手帶領(lǐng)讀者從需求、開(kāi)發(fā)、集成、代碼安全檢測(cè)、測(cè)試、部署上線等環(huán)節(jié)踐行"軟件開(kāi)發(fā)運(yùn)維一體化”的理念。
微軟最有價(jià)值專家(MSMVP),20年的IT開(kāi)發(fā)經(jīng)驗(yàn),擅長(zhǎng)C#、python編程,擅長(zhǎng)C/S、B/S編程,具有豐富的項(xiàng)目實(shí)戰(zhàn)開(kāi)發(fā)經(jīng)驗(yàn)。曾負(fù)責(zé)微軟全國(guó).NET俱樂(lè)部的區(qū)域發(fā)起與推廣,具有豐富的線上線下培訓(xùn)經(jīng)驗(yàn)。現(xiàn)致力于.NET Core的應(yīng)用和推廣。2007年4月,作為軟件創(chuàng)新英雄,在"北大百年講堂”接受比爾蓋茨先生的頒獎(jiǎng)。2008年3月,榮獲微軟十大杰出IT英雄。2008年出版《sharepoint server 2007 案列實(shí)戰(zhàn)開(kāi)發(fā)》,廣受好評(píng),F(xiàn)就職于中國(guó)電信新疆公司企業(yè)信息化部,在工作期間,先后主持多個(gè)大型項(xiàng)目,先后榮獲集團(tuán)科技進(jìn)步二等獎(jiǎng),省公司科技進(jìn)步一等獎(jiǎng)。高級(jí)工程師\軟件工程碩士\架構(gòu)師\省創(chuàng)新杰出人才\通信評(píng)標(biāo)專家\集團(tuán)公司B級(jí)人才\中央企業(yè)先進(jìn)員工。目前作者運(yùn)營(yíng)公眾號(hào)、頭條號(hào)、百家號(hào),名稱均為"Python辦公自動(dòng)化",每周分享技術(shù)、職場(chǎng)經(jīng)驗(yàn),其中多個(gè)技術(shù)專欄,受到廣大用戶的認(rèn)可。閑暇之余分享點(diǎn)文字、編程、設(shè)計(jì)等干貨。
第1篇 基礎(chǔ)
=
第1章 走進(jìn)Flask /2
1.1 了解Flask /2
1.1.1 Flask的特點(diǎn) /2
1.1.2 MVC和MTV模式 /3
1.1.3 Flask的核心庫(kù) /4
1.1.4 Flask的擴(kuò)展庫(kù) /5
1.2 安裝Flask /6
1.2.1 使用國(guó)內(nèi)鏡像源加速安裝第三方包 /6
1.2.2 安裝Python虛擬環(huán)境 /6
1.2.3 通過(guò)pip命令安裝Flask /7
1.3 利用PyCharm編輯器進(jìn)行Flask開(kāi)發(fā) /8
1.4 【實(shí)戰(zhàn)】開(kāi)發(fā)第一個(gè)Flask應(yīng)用 /9
1.4.1 使用PyCharm開(kāi)發(fā)一個(gè)Flask程序 /9
1.4.2 初步認(rèn)識(shí)Flask程序 /10
1.5 Flask項(xiàng)目的調(diào)試模式 /11
1.6 Flask配置的保存/加載 /12
1.6.1 使用app.config屬性保存配置參數(shù) /13
1.6.2 加載配置文件的兩種方法 /13
1.7 采用Flask-Script擴(kuò)展庫(kù)作為項(xiàng)目的啟動(dòng)方案 /14
1.7.1 安裝Flask-Script /14
1.7.2 用Flask-Script替代默認(rèn)的Flask應(yīng)用對(duì)象 /14
1.7.3 Flask-Script常用的功能 /15
1.8 Flask在后端開(kāi)發(fā)中的作用 /17
=
第2章 網(wǎng)站的入口——Flask的路由和視圖 /18
2.1 使用Flask中的路由 /18
2.1.1 使用裝飾器@app.route配置路由 /18
2.1.2 使用app.add_url_rule()方法配置路由 /19
2.1.3 查看路由規(guī)則 /20
2.1.4 解析動(dòng)態(tài)路由 /21
2.1.5 使用url_for()函數(shù)反向解析路由 /21
2.2 認(rèn)識(shí)視圖函數(shù) /22
2.2.1 什么是視圖函數(shù) /23
2.2.2 視圖函數(shù)的底層原理 /23
2.2.3 視圖處理函數(shù) /30
2.3 認(rèn)識(shí)視圖類 /34
2.3.1 什么是視圖類 /34
2.3.2 利用視圖類進(jìn)行功能設(shè)計(jì) /35
=
第3章 開(kāi)發(fā)頁(yè)面——基于Jinja 2模板 /37
3.1 Flask模板引擎——Jinja 2 /37
3.1.1 模板變量 /37
3.1.2 模板標(biāo)簽 /39
3.1.3 模板過(guò)濾器 /42
3.2 模板的高級(jí)用法 /44
3.2.1 模板轉(zhuǎn)義——保證代碼的安全 /44
3.2.2 【實(shí)戰(zhàn)】自定義過(guò)濾器 /45
3.2.3 【實(shí)戰(zhàn)】自定義全局函數(shù) /46
3.2.4 全局模板變量和局部模板變量 /47
3.3 模板繼承 /48
3.3.1 【實(shí)戰(zhàn)】設(shè)計(jì)母版頁(yè) /48
3.3.2 【實(shí)戰(zhàn)】設(shè)計(jì)內(nèi)容頁(yè) /49
3.3.3 【實(shí)戰(zhàn)】設(shè)計(jì)組件 /50
3.3.4 宏 /51
3.4 配置模板文件 /53
3.4.1 理解HTML、CSS和JavaScript /53
3.4.2 配置靜態(tài)文件 /53
3.5 閃現(xiàn)消息 /55
=
第4章 使用數(shù)據(jù)庫(kù)——基于Flask模型 /58
4.1 認(rèn)識(shí)Flask-SQLAlchemy模塊 /58
4.1.1 Flask-SQLAlchemy模塊的參數(shù)配置 /59
4.1.2 鏈接常見(jiàn)數(shù)據(jù)庫(kù)的寫(xiě)法 /60
4.2 認(rèn)識(shí)Flask模型 /61
4.2.1 定義模型 /61
4.2.2 字段的類型 /62
4.2.3 字段的參數(shù) /63
4.2.4 _ _repr_ _()方法 /65
4.3 使用Flask模型操作數(shù)據(jù)庫(kù) /65
4.3.1 了解ORM /65
4.3.2 創(chuàng)建數(shù)據(jù)庫(kù)表 /66
4.3.3 新增數(shù)據(jù) /68
4.3.4 查詢數(shù)據(jù) /69
4.3.5 修改數(shù)據(jù) /77
4.3.6 刪除數(shù)據(jù) /77
4.3.7 執(zhí)行原生SQL語(yǔ)句 /78
4.3.8 事務(wù)處理 /79
4.4 認(rèn)識(shí)和操作Flask模型關(guān)系 /81
4.4.1 “一對(duì)多”關(guān)系 /81
4.4.2 “一對(duì)一”關(guān)系 /84
4.4.3 “多對(duì)多”關(guān)系 /86
4.5 數(shù)據(jù)模型的遷移 /89
4.5.1 實(shí)例化Migrate 類 /89
4.5.2 初始化 /90
4.5.3 生成遷移腳本 /90
4.5.4 執(zhí)行遷移 /91
4.5.5 解決執(zhí)行遷移過(guò)程中的報(bào)錯(cuò) /91
4.5.6 回退到某次修改 /91
4.5.7 從數(shù)據(jù)庫(kù)表到模型 /92
=
第5章 展現(xiàn)界面——基于Flask表單 /94
5.1 HTML表單 /94
5.1.1 【實(shí)戰(zhàn)】用戶登錄 /95
5.1.2 【實(shí)戰(zhàn)】使用傳統(tǒng)表單上傳文件 /96
5.2 Flask表單 /97
5.2.1 認(rèn)識(shí)WTForms和Flask-WTF /98
5.2.2 表單驗(yàn)證 /105
5.2.3 【實(shí)戰(zhàn)】使用Form-WTF表單上傳文件 /108
5.2.4 【實(shí)戰(zhàn)】使用Flask-Uploads擴(kuò)展庫(kù)上傳文件 /110
5.3 使用AJAX提交表單 /114
5.3.1 基于jQuery技術(shù)實(shí)現(xiàn)AJAX /114
5.3.2 在AJAX請(qǐng)求中設(shè)置令牌(csrf_token) /114
5.3.3 【實(shí)戰(zhàn)】使用AJAX實(shí)現(xiàn)用戶登錄 /115
=
第6章 用戶認(rèn)證和權(quán)限管理——基于Flask-Login庫(kù) /118
6.1 初識(shí)Flask-Login庫(kù) /118
6.1.1 安裝Flask-Login庫(kù) /118
6.1.2 Flask-Login庫(kù)的使用流程 /118
6.2 【實(shí)戰(zhàn)】利用用戶模型實(shí)現(xiàn)用戶身份認(rèn)證及狀態(tài)保持 /120
6.2.1 實(shí)例化LoginManager對(duì)象 /121
6.2.2 定義用戶模型 /121
6.2.3 注冊(cè)用戶 /122
6.2.4 登錄用戶 /122
6.2.5 退出用戶 /123
6.2.6 顯示用戶首頁(yè) /123
6.3 【實(shí)戰(zhàn)】開(kāi)發(fā)一個(gè)Flask用戶權(quán)限管理模塊 /124
6.3.1 建立角色模型、用戶模型和權(quán)限模型 /124
6.3.2 建立表單 /126
6.3.3 顯示角色 /127
6.3.4 修改角色 /128
6.3.5 登錄裝飾器 /130
6.3.6 權(quán)限裝飾器 /131
=
第7章 Flask后臺(tái)管理——基于Flask-Admin庫(kù) /133
7.1 使用Flask-Admin庫(kù)實(shí)現(xiàn)后臺(tái)管理系統(tǒng) /133
7.1.1 進(jìn)入后臺(tái)管理系統(tǒng) /134
7.1.2 在后臺(tái)管理系統(tǒng)中設(shè)置導(dǎo)航鏈接并美化頁(yè)面 /134
7.2 Flask-Admin庫(kù)的進(jìn)階用法 /136
7.2.1 在Admin后臺(tái)顯示自定義的模型 /136
7.2.2 漢化界面 /137
7.2.3 顯示中文字段 /138
7.2.4 定制頁(yè)面功能 /138
7.2.5 上傳圖片 /140
7.2.6 在列表頁(yè)面中顯示圖像 /140
7.2.7 自定義超鏈接 /141
7.2.8 批量處理 /143
7.2.9 顯示“一對(duì)多”關(guān)系字段 /144
7.2.10 與Flask-Login庫(kù)結(jié)合使用,實(shí)現(xiàn)用戶認(rèn)證 /145
=
第2篇 項(xiàng)目入門實(shí)戰(zhàn)
=
第8章 【實(shí)戰(zhàn)】使用Flask + Bootstrap框架開(kāi)發(fā)圖書(shū)管理系統(tǒng)后臺(tái) /149
8.1 設(shè)計(jì)分析 /149
8.1.1 需求分析 /149
8.1.2 架構(gòu)設(shè)計(jì) /150
8.1.3 最終效果 /150
8.2 開(kāi)發(fā)圖書(shū)管理系統(tǒng)后臺(tái) /151
8.2.1 規(guī)劃工程目錄 /151
8.2.2 搭建母版頁(yè) /152
8.2.3 開(kāi)發(fā)“出版社管理”模塊 /152
8.2.4 開(kāi)發(fā)“作者管理”模塊 /160
8.2.5 開(kāi)發(fā)“圖書(shū)管理”模塊 /163
8.2.6 開(kāi)發(fā)首頁(yè) /171
=
第3篇 項(xiàng)目進(jìn)階實(shí)戰(zhàn)
=
第9章 Flask進(jìn)階 /175
9.1 請(qǐng)求上下文和應(yīng)用上下文 /175
9.1.1 請(qǐng)求上下文(request context) /175
9.1.2 應(yīng)用上下文(application context) /176
9.2 鉤子函數(shù) /178
9.3 認(rèn)識(shí)藍(lán)圖 /180
9.4 日志管理 /181
9.5 信號(hào) /182
9.6 測(cè)試 /184
9.6.1 單元自動(dòng)化測(cè)試 /185
9.6.2 接口自動(dòng)化測(cè)試 /185
9.6.3 用戶界面自動(dòng)化測(cè)試 /185
9.6.4 了解單元測(cè)試框架unittest /186
9.6.5 【實(shí)戰(zhàn)】使用unittest進(jìn)行單元測(cè)試 /186
9.6.6 【實(shí)戰(zhàn)】使用Flask + unittest
進(jìn)行接口自動(dòng)化測(cè)試 /188
9.6.7 【實(shí)戰(zhàn)】使用Pytest進(jìn)行單元測(cè)試 /190
9.6.8 【實(shí)戰(zhàn)】使用Flask + Pytest進(jìn)行接口自動(dòng)化測(cè)試 /192
9.7 使用Flask-Cache庫(kù)實(shí)現(xiàn)緩存 /194
9.7.1 安裝Flask-Cache庫(kù) /194
9.7.2 了解不同的緩存 /194
9.7.3 Flask-Cache庫(kù)的常見(jiàn)用法 /194
9.7.4 用Redis作為緩存的后端存儲(chǔ) /198
9.8 分布式任務(wù)隊(duì)列Celery /201
9.8.1 Celery的組件及其工作原理 /201
9.8.2 安裝Celery /202
9.8.3 【實(shí)戰(zhàn)】第一個(gè)Celery程序 /202
9.9 使用Flask-Mail庫(kù)實(shí)現(xiàn)郵件發(fā)送 /203
9.9.1 安裝Flask-Mail庫(kù) /203
9.9.2 配置變量 /204
9.9.3 獲取授權(quán)碼 /204
9.9.4 郵件發(fā)送的示例 /205
9.10 認(rèn)識(shí)工廠函數(shù) /206
9.10.1 為什么要使用工廠函數(shù) /206
9.10.2 創(chuàng)建一個(gè)工廠函數(shù) /206
=
第10章 【實(shí)戰(zhàn)】使用Flask + Bootstrap框架開(kāi)發(fā)商城系統(tǒng)后臺(tái) /209
10.1 設(shè)計(jì)分析 /209
10.1.1 需求分析 /209
10.1.2 架構(gòu)設(shè)計(jì) /210
10.1.3 最終效果 /210
10.2 開(kāi)發(fā)商城系統(tǒng)后臺(tái) /210
10.2.1 規(guī)劃工程目錄 /211
10.2.2 開(kāi)發(fā)商品分類模塊 /214
10.2.3 開(kāi)發(fā)商品信息模塊 /222
10.2.4 使用信號(hào)和Flask-Mail發(fā)送注冊(cè)成功郵件 /229
10.2.5 使用Flask-Cache緩存商品數(shù)據(jù) /231
10.2.6 開(kāi)發(fā)首頁(yè) /233
10.2.7 使用Celery定時(shí)將首頁(yè)生成靜態(tài)頁(yè) /236
=
第4篇 前后端分離項(xiàng)目實(shí)戰(zhàn)
=
第11章 接口的設(shè)計(jì)與實(shí)現(xiàn) /242
11.1 前后端分離 /242
11.1.1 了解前后端分離 /242
11.1.2 為什么要前后端分離 /243
11.1.3 如何實(shí)施前后端分離 /244
11.1.4 前后端分離的技術(shù)棧 /245
11.2 設(shè)計(jì)符合標(biāo)準(zhǔn)的RESTFul接口 /245
11.3 接口開(kāi)發(fā)——基于Flask-RESTFul框架 /247
11.3.1 安裝Flask-RESTFul /247
11.3.2 快速編寫(xiě)一個(gè)Flask API /247
11.3.3 認(rèn)識(shí)請(qǐng)求 /249
11.3.4 認(rèn)識(shí)響應(yīng) /253
11.3.5 使用藍(lán)圖 /262
11.4 接口安全機(jī)制 /262
11.4.1 基于HTTPTokenAuth實(shí)現(xiàn)Token認(rèn)證 /262
11.4.2 基于Flask-JWT-Extended實(shí)現(xiàn)JWT認(rèn)證 /265
11.4.3 基于后端技術(shù)的跨域解決方案 /269
11.5 【實(shí)戰(zhàn)】利用Flasgger生成專業(yè)的Swagger文檔 /271
11.5.1 安裝及配置Flasgger /271
11.5.2 生成Swagger文檔 /271
11.6 使用Flask-RESTX改進(jìn)Flask-RESTFul /273
11.7 【實(shí)戰(zhàn)】實(shí)現(xiàn)圖書(shū)管理系統(tǒng)的接口 /275
11.7.1 規(guī)劃工程目錄 /275
11.7.2 出版社相關(guān)接口 /275
11.8 【實(shí)戰(zhàn)】使用Postman測(cè)試接口 /279
11.8.1 發(fā)起GET請(qǐng)求 /279
11.8.2 發(fā)起POST請(qǐng)求 /280
11.8.3 發(fā)起PUT請(qǐng)求 /280
11.8.4 發(fā)起DELETE請(qǐng)求 /281
=
第12章 快速入門前端開(kāi)發(fā)—— Vue.js 3 + Vite + Pinia /282
12.1 前端開(kāi)發(fā)利器——Vue.js框架 /282
12.1.1 認(rèn)識(shí)Vue.js /282
12.1.2 Vue.js 3的新特性 /282
12.2 搭建開(kāi)發(fā)環(huán)境 /283
12.2.1 安裝Node.js /283
12.2.2 使用Vue CLI腳手架創(chuàng)建Vue.js 3項(xiàng)目 /284
12.2.3 使用Vite創(chuàng)建Vue.js 3項(xiàng)目 /287
12.2.4 使用Visual Stdio Code編輯器進(jìn)行前端代碼開(kāi)發(fā) /290
12.3 Vue.js 3的組合式API /292
12.3.1 選項(xiàng)式API和組合式API的對(duì)比 /292
12.3.2 使用<script setup lang="ts">創(chuàng)建組合式API /294
12.3.3 ref()函數(shù)和reactive()函數(shù)的區(qū)別 /295
12.4 Vue.js的基本操作 /296
12.4.1 用插值實(shí)現(xiàn)數(shù)據(jù)綁定 /296
12.4.2 用class和style設(shè)置樣式 /297
12.4.3 用v-for實(shí)現(xiàn)列表渲染 /298
12.4.4 用v-on或者@綁定事件 /299
12.4.5 用v-model實(shí)現(xiàn)雙向數(shù)據(jù)綁定 /300
12.4.6 用computed計(jì)算屬性監(jiān)聽(tīng)數(shù)據(jù) /301
12.5 用Axios實(shí)現(xiàn)數(shù)據(jù)交互 /302
12.5.1 認(rèn)識(shí)Axios /302
12.5.2 用Axios發(fā)送網(wǎng)絡(luò)請(qǐng)求 /302
12.5.3 【案例】實(shí)現(xiàn)出版社的增加、刪除、修改和查詢 /305
12.6 用Pinia實(shí)現(xiàn)狀態(tài)管理 /308
12.6.1 安裝和初始化 /309
12.6.2 store——狀態(tài)倉(cāng)庫(kù),用于存儲(chǔ)和管理應(yīng)用的狀態(tài) /309
12.6.3 state——store中的狀態(tài)數(shù)據(jù) /310
12.6.4 getters——store中的計(jì)算屬性 /311
12.6.5 actions——store中的方法 /312
12.7 用Vue Router庫(kù)實(shí)現(xiàn)路由管理 /313
12.7.1 了解Vue Router庫(kù) /313
12.7.2 安裝和使用 /313
12.7.3 動(dòng)態(tài)路由 /316
12.7.4 路由嵌套 /317
12.7.5 歷史模式和哈希模式 /319
=
第13章 【實(shí)戰(zhàn)】用Vue.js 3 + Vite + Pinia + Flask-RESTFul開(kāi)發(fā)商城系統(tǒng) /321
13.1 設(shè)計(jì)分析 /321
13.1.1 需求分析 /321
13.1.2 架構(gòu)設(shè)計(jì) /322
13.2 用Vue.js 3開(kāi)發(fā)商城系統(tǒng)的前臺(tái) /322
13.2.1 核心技術(shù)點(diǎn)介紹 /322
13.2.2 公共頁(yè)面開(kāi)發(fā) /329
13.2.3 “商品首頁(yè)”模塊開(kāi)發(fā) /332
13.2.4 “商品列表”模塊開(kāi)發(fā) /337
13.2.5 “商品詳情”模塊開(kāi)發(fā) /343
13.2.6 “用戶登錄”模塊開(kāi)發(fā) /346
13.2.7 “購(gòu)物車管理”模塊開(kāi)發(fā) /347
13.2.8 “訂單管理”模塊開(kāi)發(fā) /350
13.2.9 “個(gè)人中心”模塊開(kāi)發(fā) /352
13.3 開(kāi)發(fā)商城系統(tǒng)的后端接口 /357
13.3.1 規(guī)劃工程目錄 /357
13.3.2 會(huì)員相關(guān)接口 /360
13.3.3 商品相關(guān)接口 /367
13.3.4 訂單相關(guān)接口 /375
13.3.5 基礎(chǔ)接口——“地址信息”接口 /383
=
第5篇 部署及運(yùn)維
=
第14章 Flask應(yīng)用的傳統(tǒng)部署 /389
14.1 部署前的準(zhǔn)備工作 /389
14.1.1 準(zhǔn)備虛擬機(jī) /389
14.1.2 安裝Python 3.9.13 /389
14.1.3 安裝Python虛擬環(huán)境 /390
14.1.4 安裝Flask /391
14.2 使用MySQL數(shù)據(jù)庫(kù) /392
14.2.1 安裝MySQL數(shù)據(jù)庫(kù) /392
14.2.2 配置MySQL數(shù)據(jù)庫(kù) /393
14.2.3 客戶端連接MySQL數(shù)據(jù)庫(kù) /394
14.2.4 【實(shí)戰(zhàn)】生成商城系統(tǒng)的數(shù)據(jù)庫(kù)和表 /395
14.3 使用uWSGI進(jìn)行部署 /396
14.3.1 WSGI、uwsgi和uWSGI的關(guān)系 /396
14.3.2 安裝uwsgi /397
14.3.3 啟動(dòng)并測(cè)試uwsgi /397
14.3.4 詳解配置文件 /398
14.3.5 常用命令 /399
14.3.6 【實(shí)戰(zhàn)】部署商城系統(tǒng)后臺(tái) /399
14.4 用Gunicorn進(jìn)行部署 /400
14.4.1 安裝Gunicorn /400
14.4.2 啟動(dòng)服務(wù)并測(cè)試 /401
14.4.3 編寫(xiě)配置文件 /402
14.4.4 【實(shí)戰(zhàn)】部署商城系統(tǒng)接口 /403
14.5 用Supervisor管理進(jìn)程 /404
14.5.1 安裝和配置 /404
14.5.2 了解配置文件 /404
14.5.3 常用命令 /405
14.5.4 Web監(jiān)控界面 /405
14.5.5 【實(shí)戰(zhàn)】管理進(jìn)程 /406
14.6 用Nginx進(jìn)行代理 /407
14.6.1 正向代理和反向代理 /407
14.6.2 為什么用了uWSGI還需要用Nginx /408
14.6.3 安裝Nginx /408
14.6.4 了解配置文件 /409
14.6.5 【實(shí)戰(zhàn)】部署商城系統(tǒng)后臺(tái) /411
14.6.6 【實(shí)戰(zhàn)】部署商城系統(tǒng)接口 /412
14.6.7 【實(shí)戰(zhàn)】部署商城系統(tǒng)前臺(tái) /413
14.6.8 【實(shí)戰(zhàn)】利用Nginx負(fù)載均衡部署商城系統(tǒng)接口 /413
=
第15章 Flask應(yīng)用的Docker部署 /416
15.1 介紹Docker /416
15.1.1 了解Docker /416
15.1.2 虛擬機(jī)和容器的區(qū)別 /417
15.1.3 了解Docker的鏡像、容器和倉(cāng)庫(kù) /418
15.2 安裝并啟動(dòng)Docker /419
15.2.1 安裝Docker /419
15.2.2 啟動(dòng)Docker /420
15.3 操作Docker鏡像 /421
15.3.1 搜索鏡像 /421
15.3.2 獲取鏡像 /421
15.3.3 查看鏡像 /422
15.3.4 導(dǎo)入/導(dǎo)出鏡像 /423
15.3.5 配置國(guó)內(nèi)鏡像倉(cāng)庫(kù) /423
15.4 操作Docker容器 /424
15.4.1 啟動(dòng)容器 /424
15.4.2 進(jìn)入容器 /426
15.4.3 停止容器 /427
15.4.4 刪除容器 /427
15.4.5 復(fù)制容器內(nèi)的文件 /427
15.4.6 查看容器內(nèi)的日志 /428
15.5 【實(shí)戰(zhàn)】用Docker部署MySQL /428
15.5.1 拉取鏡像 /428
15.5.2 創(chuàng)建容器 /429
15.5.3 進(jìn)入MySQL容器 /429
15.6 【實(shí)戰(zhàn)】用Docker方式部署Redis /429
15.6.1 拉取Redis /429
15.6.2 創(chuàng)建并啟動(dòng)Redis容器 /430
15.7 制作自己的鏡像——編寫(xiě)Dockerfile文件 /431
15.7.1 語(yǔ)法規(guī)則 /431
15.7.2 構(gòu)建Nginx鏡像 /432
15.8 將鏡像推送到私有倉(cāng)庫(kù)Harbor中 /433
15.8.1 搭建Harbor私有倉(cāng)庫(kù) /433
15.8.2 安裝Docker-Compose /433
15.8.3 安裝Harbor /434
15.8.4 登錄Harbor /435
15.8.5 配置、使用Harbor /436
15.9 【實(shí)戰(zhàn)】用Docker部署商城系統(tǒng)的接口 /437
15.9.1 拉取并啟動(dòng)MySQL容器 /438
15.9.2 創(chuàng)建接口鏡像并啟動(dòng)容器 /438
15.9.3 拉取并啟動(dòng)Nginx容器 /440
15.10 【實(shí)戰(zhàn)】用Docker Compose部署多個(gè)容器 /441
15.10.1 編排容器文件 /442
15.10.2 構(gòu)建和啟動(dòng) /443