![]() ![]() |
Flask 2+Vue.js 3實(shí)戰(zhàn)派——Python Web開(kāi)發(fā)與運(yùn)維 讀者對(duì)象:本書(shū)適合所有對(duì)Flask感興趣的讀者閱讀學(xué)習(xí)。
本書(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à)值專(zhuān)家(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)�,F(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)專(zhuān)家\集團(tuán)公司B級(jí)人才\中央企業(yè)先進(jìn)員工。目前作者運(yùn)營(yíng)公眾號(hào)、頭條號(hào)、百家號(hào),名稱(chēng)均為"Python辦公自動(dòng)化",每周分享技術(shù)、職場(chǎng)經(jīng)驗(yàn),其中多個(gè)技術(shù)專(zhuān)欄,受到廣大用戶的認(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í)視圖類(lèi) /34 2.3.1 什么是視圖類(lèi) /34 2.3.2 利用視圖類(lèi)進(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 字段的類(lèi)型 /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 查詢(xún)數(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 類(lèi) /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)目入門(mén)實(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ā)商品分類(lèi)模塊 /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生成專(zhuān)業(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章 快速入門(mén)前端開(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)出版社的增加、刪除、修改和查詢(xú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)物車(chē)管理”模塊開(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
你還可能感興趣
我要評(píng)論
|