




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目9:部署“古典文學(xué)網(wǎng)”項(xiàng)目XXX202X-XX-XX
目錄02.任務(wù)1:安裝Apache服務(wù)器05.任務(wù)4:部署前端項(xiàng)目03.任務(wù)2:安裝mod_wsgi擴(kuò)展模塊04.任務(wù)3:部署后端項(xiàng)目01.知識(shí)儲(chǔ)備:服務(wù)器技術(shù)06.拓展任務(wù)
學(xué)習(xí)目標(biāo)知識(shí)目標(biāo):了解Web服務(wù)器技術(shù),并掌握其運(yùn)作原理及核心機(jī)制;了解Apache服務(wù)器技術(shù),并掌握其內(nèi)在原理及使用方法;了解mod_wsgi模塊,并掌握其工作原理以及具體的使用方法。能力目標(biāo):通過(guò)學(xué)習(xí)Apache服務(wù)器,能夠構(gòu)建高效、穩(wěn)定且安全的Web環(huán)境;通過(guò)學(xué)習(xí)Apache服務(wù)器,能夠部署Flask及Vue項(xiàng)目程序;通過(guò)學(xué)習(xí)項(xiàng)目的部署流程,能夠解決部署中遇到的各種問(wèn)題和挑戰(zhàn)素質(zhì)目標(biāo):培養(yǎng)系統(tǒng)思維,嚴(yán)格遵守行業(yè)規(guī)范和標(biāo)準(zhǔn),提高軟件質(zhì)量和可靠性;培養(yǎng)責(zé)任感、職業(yè)精神和團(tuán)隊(duì)精神,遵守職業(yè)道德。01項(xiàng)目描述
1.1.項(xiàng)目需求小白所在的開(kāi)發(fā)團(tuán)隊(duì)已經(jīng)圓滿完成了“古典文學(xué)網(wǎng)”項(xiàng)目的開(kāi)發(fā)工作。接下來(lái),小白將承擔(dān)起為客戶部署“古典文學(xué)網(wǎng)”項(xiàng)目的重任。02知識(shí)儲(chǔ)備
2.知識(shí)儲(chǔ)備為了項(xiàng)目的順利開(kāi)發(fā),小白需要掌握服務(wù)器技術(shù),同時(shí)提升與客戶溝通交流的技巧,為“古典文學(xué)網(wǎng)”項(xiàng)目的順利部署做好充分的技術(shù)儲(chǔ)備。
2.1.Web服務(wù)器介紹1Web服務(wù)器
Web服務(wù)器,亦被廣泛稱為WWW(萬(wàn)維網(wǎng))服務(wù)器,其核心職責(zé)在于互聯(lián)網(wǎng)環(huán)境中提供網(wǎng)頁(yè)信息的存儲(chǔ)、處理與傳遞服務(wù)。作為網(wǎng)站運(yùn)作的基石,它承擔(dān)著接收并精準(zhǔn)響應(yīng)來(lái)自全球互聯(lián)網(wǎng)用戶請(qǐng)求的重任,從而確保用戶能夠順暢地瀏覽和訪問(wèn)網(wǎng)頁(yè)內(nèi)容。圖9.1展示了Web服務(wù)器物理部署結(jié)構(gòu)。
當(dāng)前,主流的Web服務(wù)器包括Apache、Nginx、IIS,以及廣泛采用的Tomcat、Jetty、WebSphere、WebLogic和Kestrel等。在這些中,Apache是全球范圍內(nèi)使用最為廣泛的Web服務(wù)器,其市場(chǎng)占有率高達(dá)約60%。圖9.1Web服務(wù)器物理部署
2.1.Web服務(wù)器介紹2
工作原理當(dāng)用戶通過(guò)瀏覽器鍵入網(wǎng)址(URL)時(shí),瀏覽器隨即向Web服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求。一旦Web服務(wù)器接收到這一請(qǐng)求,它解析其中的信息,包括請(qǐng)求的資源類型和所采用的方法等。緊接著,服務(wù)器會(huì)根據(jù)這些信息在其文件系統(tǒng)中定位到對(duì)應(yīng)的資源,并將這些資源以HTTP響應(yīng)的形式回饋給瀏覽器。瀏覽器接收到響應(yīng)后,會(huì)進(jìn)一步解析其中的HTML、CSS和JavaScript等代碼,最終將精美的網(wǎng)頁(yè)內(nèi)容展示給用戶。這一完整的工作流程如圖9.2所示。圖9.2Web服務(wù)器工作流程
2.2.Apache服務(wù)器1
Apache服務(wù)器簡(jiǎn)介ApacheHTTPServer(簡(jiǎn)稱Apache)是由Apache軟件基金會(huì)推出的一款開(kāi)源網(wǎng)頁(yè)服務(wù)器軟件。Apache能夠運(yùn)行在幾乎所有主流的計(jì)算機(jī)平臺(tái)上,其跨平臺(tái)性和卓越的安全性特性使其成為業(yè)界最受歡迎的Web服務(wù)器端軟件之一。它支持簡(jiǎn)單的API擴(kuò)充,并能將諸如Perl和Python等解釋器編譯到服務(wù)器中,從而為用戶提供更為豐富的功能和體驗(yàn)。Apache的logo如圖9.3所示。圖9.3Apache的logo圖標(biāo)
2.2.Apache服務(wù)器2
主要特點(diǎn)Apache是一個(gè)模塊化的Web服務(wù)器軟件,源自NCSAhttpd服務(wù)器,經(jīng)過(guò)無(wú)數(shù)次的精心優(yōu)化與修改,已然成為業(yè)界的翹楚。Apache服務(wù)器憑借其模塊化設(shè)計(jì),展現(xiàn)出以下顯著的特點(diǎn)。(1)開(kāi)源Apache是一款開(kāi)源軟件,它以自由、開(kāi)放的精神,允許任何人免費(fèi)獲取、使用并參與到其開(kāi)發(fā)過(guò)程中。這種開(kāi)放的特性使得Apache成為全球范圍內(nèi)廣泛采納和應(yīng)用的Web服務(wù)器軟件。(2)跨平臺(tái)Apache以其卓越的跨平臺(tái)能力,能夠順暢地運(yùn)行在多種操作系統(tǒng)上,包括但不限于Windows、Linux以及Unix等,為用戶提供了極大的靈活性和便捷性。(3)可擴(kuò)展性Apache以其模塊化的架構(gòu),能夠輕松加載各種擴(kuò)展模塊,從而增強(qiáng)其功能性。它支持多種Web編程語(yǔ)言,包括但不限于Perl、PHP、Python和Java,為開(kāi)發(fā)者提供了廣泛的選擇空間,以滿足不同項(xiàng)目的需求。(4)高性能Apache的設(shè)計(jì)初衷是追求極致的性能和卓越的并發(fā)處理能力,以確保服務(wù)器在面對(duì)海量用戶請(qǐng)求時(shí),能夠迅速而精準(zhǔn)地做出響應(yīng),為用戶帶來(lái)流暢、穩(wěn)定且無(wú)與倫比的網(wǎng)絡(luò)體驗(yàn)。(5)安全性Apache通過(guò)提供一系列強(qiáng)大的安全功能,如SSL/TLS加密支持、精細(xì)的訪問(wèn)控制機(jī)制以及用戶認(rèn)證等,全面保障了服務(wù)器和用戶數(shù)據(jù)的安全。這些安全措施旨在為用戶提供一個(gè)值得信賴的在線環(huán)境,確保他們的隱私和數(shù)據(jù)安全無(wú)虞。
2.3.mod_wsgi模塊1
mod_wsgi模塊簡(jiǎn)介mod_wsgi模塊是ApacheHTTP服務(wù)器的一個(gè)關(guān)鍵擴(kuò)展,它實(shí)現(xiàn)了Python的WSGI(WebServerGatewayInterface)標(biāo)準(zhǔn),為Python應(yīng)用程序與Apache服務(wù)器之間的順暢交互提供了橋梁。這一模塊的工作機(jī)制如圖9.4所示。圖9.4mod_wsgi模塊的工作機(jī)制mod_wsgi模塊是部署PythonWeb應(yīng)用程序(如Django、Flask等)到Apache服務(wù)器上的理想選擇,它確保了Web服務(wù)的高性能、穩(wěn)定性和安全性。
2.3.mod_wsgi模塊2
執(zhí)行模式在部署PythonWeb應(yīng)用程序過(guò)程中,mod_wsgi模塊提供了兩種執(zhí)行模式。(1)Embedded模式Embedded模式下,PythonWSGI應(yīng)用可以在Apache的子進(jìn)程中執(zhí)行,從而與Apache服務(wù)器上的其他應(yīng)用共享進(jìn)程空間。這種執(zhí)行模式能夠?qū)崿F(xiàn)高效的性能,因?yàn)槎鄠€(gè)應(yīng)用共享相同的進(jìn)程資源。然而,為了確保系統(tǒng)的穩(wěn)定性和性能優(yōu)化,可能需要針對(duì)Apache的MPM(Multi-ProcessingModule)進(jìn)行適當(dāng)?shù)呐渲煤驼{(diào)整。(2)Daemon模式Daemon模式下,Apache通過(guò)啟動(dòng)專用的進(jìn)程來(lái)執(zhí)行PythonWSGI應(yīng)用,但這一過(guò)程中,PythonWSGI應(yīng)用需要配備相應(yīng)的進(jìn)程監(jiān)控或WSGI適配器。這種執(zhí)行模式在安全性上更具優(yōu)勢(shì),因?yàn)樗鼘ython應(yīng)用與Apache服務(wù)器的主進(jìn)程完全隔離開(kāi)來(lái),從而減少了潛在的安全風(fēng)險(xiǎn)。這種隔離機(jī)制確保了應(yīng)用的穩(wěn)定運(yùn)行,并提供了更高的安全性保障。03項(xiàng)目任務(wù)
3.
項(xiàng)目任務(wù)開(kāi)發(fā)團(tuán)隊(duì)已經(jīng)完成了“古典文學(xué)網(wǎng)”項(xiàng)目的開(kāi)發(fā)。小白需要將該項(xiàng)目部署至客戶服務(wù)器,以便讓用戶能夠順暢使用需求描述:
3.1
安裝Apache服務(wù)器任務(wù)步驟:1.下載Apache安裝包2.安裝Apache服務(wù)器
3.1
安裝Apache服務(wù)器1.下載Apache安裝包在下載Apache安裝包之前,我們務(wù)必進(jìn)行一項(xiàng)關(guān)鍵驗(yàn)證,即確認(rèn)所下載的安裝包是否與當(dāng)前Python環(huán)境相兼容。首先,我們啟動(dòng)Windows的命令行窗口,隨后在命令行中輸入“python”命令,并按下回車鍵。執(zhí)行此操作后,系統(tǒng)將顯示當(dāng)前安裝的Python版本信息,如圖9.5所示。圖9.5Python版本信息圖9.6_MSC_VER值與VisualStudio版本部分常見(jiàn)的對(duì)應(yīng)關(guān)系
3.1
安裝Apache服務(wù)器1.下載Apache安裝包經(jīng)過(guò)上述步驟的仔細(xì)分析,我們可以確定需要下載的Apache安裝包應(yīng)為64位版本,并且與vc17(即MicrosoftVisualC++17.0)兼容。接下來(lái),我們將通過(guò)瀏覽器訪問(wèn)Apache的官方網(wǎng)站,在該網(wǎng)站上選擇與我們環(huán)境相匹配的Apache安裝包進(jìn)行下載,如圖9.7所示。圖9.7Apache2.4安裝包下載界面及安裝包
3.1
安裝Apache服務(wù)器2.安裝Apache服務(wù)器首先,請(qǐng)將上一節(jié)下載的Apache安裝包“httpd-2.4.59-240404-win64-VS17.zip”進(jìn)行解壓縮操作。隨后,將解壓出的Apache24文件夾復(fù)制到D盤(pán)的根目錄下(D:\Apache24),或者我們也可以選擇將其放置在其他目錄下(目錄不能包含中文或特殊字符)。
3.1
安裝Apache服務(wù)器2.安裝Apache服務(wù)器接下來(lái),為了配置Apache服務(wù)器,我們需要打開(kāi)位于D:\Apache24\conf\httpd.conf的配置文件。在這個(gè)文件中,我們將設(shè)置服務(wù)器的根目錄和訪問(wèn)端口。具體地,我們將把第37行中默認(rèn)的服務(wù)器根目錄路徑修改為“D:\Apache24”,并將第60行中默認(rèn)的80端口更改為8088,以確保我們使用自定義的端口號(hào)。以下是相關(guān)的配置代碼示例:.....DefineSRVROOT"D:/Apache24"Listen8088......緊接著,為了創(chuàng)建Apache服務(wù),我們需要以管理員權(quán)限啟動(dòng)Windows的命令行窗口。然后,通過(guò)命令進(jìn)入D:\Apache24\bin目錄,并輸入以下命令來(lái)創(chuàng)建服務(wù):httpd.exe-kinstall-n"apache2.4"
3.1
安裝Apache服務(wù)器2.安裝Apache服務(wù)器安裝完成后,我們可以通過(guò)在Windows的命令行窗口中輸入“httpd-kstart”命令來(lái)啟動(dòng)Apache服務(wù)。我們也可以進(jìn)入D:\Apache24\bin目錄,并雙擊ApacheMonitor.exe程序來(lái)打開(kāi)ApacheServiceMonitor服務(wù)管理界面。在這個(gè)界面中,我們能夠看到Apache服務(wù)的當(dāng)前狀態(tài),并且可以在界面右側(cè)按鈕控制Apache服務(wù)的啟動(dòng)、停止或重啟等操作。ApacheServiceMonitor服務(wù)管理界面如圖9.8所示。圖9.8ApacheServiceMonitor服務(wù)管理界面
3.1
安裝Apache服務(wù)器2.安裝Apache服務(wù)器最后,當(dāng)Apache服務(wù)被啟動(dòng)后,可在瀏覽器地址欄中輸入http://localhost:8088進(jìn)行訪問(wèn)。如果頁(yè)面顯示“Itworks!”字樣,意味著Apache已成功安裝并在本地正確運(yùn)行。訪問(wèn)結(jié)果如圖9.9所示。圖9.9Apache服務(wù)器歡迎界面
3.2.安裝mod_wsgi擴(kuò)展模塊安裝mod_wsgi擴(kuò)展模塊前,請(qǐng)確認(rèn)安裝了Python、Apache以及與之匹配的VisualStudio庫(kù)的工具集。需求描述:
3.2.安裝mod_wsgi擴(kuò)展模塊任務(wù)步驟:1.安裝VisualStudio的工具集2.安裝mod_wsgi擴(kuò)展模塊
3.2.安裝mod_wsgi擴(kuò)展模塊1.安裝VisualStudio的工具集
在安裝mod_wsgi擴(kuò)展模塊之前,我們確保已安裝VisualStudio庫(kù)的工具集。從前面的對(duì)部署環(huán)境的分析,我們得知需要安裝VisualStudio2022版本17.7,或者選擇更為輕量級(jí)的MicrosoftC++生成工具進(jìn)行安裝。為了確保VisualStudio庫(kù)工具集的完整性,我們強(qiáng)烈推薦我們使用MicrosoftC++生成工具,因?yàn)樗ㄟ^(guò)可編寫(xiě)腳本的獨(dú)立安裝程序提供了MSVC工具集,從而確保我們不會(huì)遺漏任何必要的組件。
首先,我們需要通過(guò)瀏覽器導(dǎo)航至微軟官方網(wǎng)站,并訪問(wèn)MicrosoftC++生成工具的下載頁(yè)面。在該頁(yè)面,我們可以找到并下載所需的生成工具。具體的操作界面可能如圖9.10所示。圖9.10MicrosoftC++生成工具下載界面及安裝包
3.2.安裝mod_wsgi擴(kuò)展模塊1.安裝VisualStudio的工具集接下來(lái),我們需要運(yùn)行vs_BuildTools.exe程序。在程序界面中,請(qǐng)確保選中“使用C++的桌面開(kāi)發(fā)”選項(xiàng),這將確保我們安裝了VisualStudio中用于C++開(kāi)發(fā)的必要工具集。具體的選擇過(guò)程可以參考圖9.11所示的操作界面。圖9.11MicrosoftC++工具安裝界面
3.2.安裝mod_wsgi擴(kuò)展模塊1.安裝VisualStudio的工具集在上圖中,我們可以按照默認(rèn)選項(xiàng)進(jìn)行安裝,當(dāng)然,也可以根據(jù)我們的Windows系統(tǒng)版本選擇相應(yīng)的工具進(jìn)行個(gè)性化安裝。一旦安裝完成,為了確保所有更改生效,建議我們重啟計(jì)算機(jī)。圖9.12展示了安裝完成后的界面。圖9.12VisualStudio生成工具安裝成功界面
3.2.安裝mod_wsgi擴(kuò)展模塊2.安裝mod_wsgi擴(kuò)展模塊
在上一節(jié)的基礎(chǔ)上,我們使用pipinstall命令來(lái)將mod_wsgi擴(kuò)展模塊安裝到我們的Python環(huán)境中。請(qǐng)參考以下步驟進(jìn)行安裝。首先,我們打開(kāi)Windows的命令行窗口,輸入以下安裝命令,并按回車鍵,安裝mod_wsgi擴(kuò)展模塊。set"MOD_WSGI_APACHE_ROOTDIR=D:\Apache24"pipinstallmod_wsgi
上述命令中,set"MOD_WSGI_APACHE_ROOTDIR=D:\Apache24"命令用于設(shè)置Apache服務(wù)器的安裝目錄,而pipinstallmod_wsgi命令用于安裝mod_wsgi擴(kuò)展模塊。
3.2.安裝mod_wsgi擴(kuò)展模塊2.安裝mod_wsgi擴(kuò)展模塊
接下來(lái),我們需要獲取mod_wsgi擴(kuò)展模塊的信息,我們啟動(dòng)Windows的命令行窗口,隨后在命令行中輸入以下命令,并按回車鍵。mod_wsgi-expressmodule-config
執(zhí)行上述命令后,我們將能夠查看到mod_wsgi擴(kuò)展模塊的配置信息,標(biāo)志著mod_wsgi的安裝過(guò)程已順利完成。具體的配置如圖9.13。圖9.13mod_wsgi擴(kuò)展模塊的配置信息
3.2.安裝mod_wsgi擴(kuò)展模塊2.安裝mod_wsgi擴(kuò)展模塊最后,我們需要對(duì)Apache服務(wù)器進(jìn)行配置,以便集成mod_wsgi擴(kuò)展模塊。請(qǐng)打開(kāi)位于D:\Apache24\conf\目錄下的httpd.conf配置文件,并將上圖中展示的三行代碼復(fù)制到該配置文件中。mod_wsgi模塊配置信息如圖9.14所示。圖9.14Apache中mod_wsgi的配置信息
3.3.部署后端項(xiàng)目接下來(lái),我們將“古典文學(xué)網(wǎng)”后端項(xiàng)目部署至Apache服務(wù)器,以確??蛻舳四軌蝽槙车卦L問(wèn)所需的API接口需求描述:
3.3.部署后端項(xiàng)目任務(wù)步驟:1.部署生產(chǎn)環(huán)境2.配置Apaceh的虛擬主機(jī)3.測(cè)試后端API接口
3.3.部署后端項(xiàng)目1部署生產(chǎn)環(huán)境
為了確保與開(kāi)發(fā)環(huán)境的有效隔離,我們需要構(gòu)建一個(gè)專門(mén)用于項(xiàng)目部署的生產(chǎn)環(huán)境,以便在其中存放并運(yùn)行我們準(zhǔn)備部署的項(xiàng)目。這樣做可以確保生產(chǎn)環(huán)境的穩(wěn)定性和可靠性,同時(shí)避免與開(kāi)發(fā)環(huán)境之間的潛在沖突。
3.3.部署后端項(xiàng)目1部署生產(chǎn)環(huán)境
首先,我們需要在計(jì)算機(jī)的D盤(pán)上創(chuàng)建一個(gè)名為cls_deploy的目錄,作為我們的生產(chǎn)環(huán)境。緊接著,將后端項(xiàng)目cls_svr完整地復(fù)制到該目錄中,并分別創(chuàng)建run.py和run.wsgi兩個(gè)文件。其中,run.py將作為程序的啟動(dòng)入口,而run.wsgi則作為WSGI(WebServerGatewayInterface)應(yīng)用程序的腳本文件,用于定義和配置Web服務(wù)器與PythonWeb應(yīng)用程序之間的交互。完整的項(xiàng)目結(jié)構(gòu)如圖9.15所示。圖9.15生產(chǎn)環(huán)境中cls_svr項(xiàng)目結(jié)構(gòu)目錄
3.3.部署后端項(xiàng)目1部署生產(chǎn)環(huán)境
在cls_svr項(xiàng)目中,我們找到run.py文件,并在其中編寫(xiě)以下代碼。這段代碼與原始項(xiàng)目中的app.py文件在功能上基本一致,但為了適應(yīng)生產(chǎn)環(huán)境部署,我們移除了啟動(dòng)時(shí)的端口定義。具體的代碼實(shí)現(xiàn)參考如下:#引入應(yīng)用工廠函數(shù)fromappimportcreate_appfromapp.api.user_blueprintimportuser_blueprintfromapp.api.classics_blueprintimportclassics_blueprintfromapp.api.image_blueprintimportimage_blueprint#調(diào)用工廠,創(chuàng)建appapp=create_app()#注冊(cè)藍(lán)圖app.register_blueprint(user_blueprint,url_prefix="/api/user")
app.register_blueprint(classics_blueprint,url_prefix="/api/classics")app.register_blueprint(image_blueprint,url_prefix="/api/image")
#啟動(dòng)Flask程序if__name__=="__main__":
#啟動(dòng)服務(wù)
app.run(host="",debug=False)
3.3.部署后端項(xiàng)目1部署生產(chǎn)環(huán)境
在cls_svr項(xiàng)目中,我們找到WSGI腳本文件run.wsgi。這個(gè)文件的主要功能是通過(guò)mod_wsgi模塊將Flask項(xiàng)目與Apache服務(wù)器連接起來(lái),確保兩者能夠協(xié)同工作。以下是該文件的具體代碼:importsyssys.path.insert(0,"D:\cls_deploy\cls_svr")#添加項(xiàng)目路徑到python解釋器的搜索路徑中fromrunimportappasapplication#這里必須是application
3.3.部署后端項(xiàng)目2配置Apaceh的虛擬主機(jī)
Apache的虛擬主機(jī)配置功能賦予了我們?cè)谝慌_(tái)服務(wù)器上托管多個(gè)網(wǎng)站的強(qiáng)大能力,每個(gè)網(wǎng)站都能享受到獨(dú)立且定制化的配置。接下來(lái),我們將詳細(xì)介紹如何配置Apache的虛擬主機(jī),以部署“古典文學(xué)網(wǎng)”的后端項(xiàng)目。在本次配置中,我們將采用基于IP地址和端口的配置方式。以下是具體的配置步驟:
3.3.部署后端項(xiàng)目2配置Apaceh的虛擬主機(jī)
首先,為了啟用虛擬主機(jī)的配置,我們需要在Apache的主配置文件httpd.conf中進(jìn)行相應(yīng)的修改。在httpd.conf文件中,請(qǐng)查找到#Includeconf/extra/httpd-vhosts.conf這樣的行。一旦找到,我們需要?jiǎng)h除該行前面的注釋符號(hào)#,從而啟用虛擬主機(jī)配置文件httpd-vhosts.conf。
3.3.部署后端項(xiàng)目2配置Apaceh的虛擬主機(jī)
接下來(lái),我們需要配置虛擬主機(jī)來(lái)部署后端項(xiàng)目。請(qǐng)打開(kāi)位于conf/extra/httpd-vhosts.conf虛擬主機(jī)配置文件。在該文件中,我們添加一個(gè)監(jiān)聽(tīng)8085端口的虛擬主機(jī)條目,以便為后端項(xiàng)目提供獨(dú)立的服務(wù)。以下是具體的配置代碼示例:.....#古典文學(xué)網(wǎng)后端項(xiàng)目部署Listen8085<VirtualHost*:8085>
ServerNamelocalhost:8085
ServerAliaslocalhost:8085
WSGIScriptAlias/D:/cls_deploy/cls_svr/run.wsgi
<Directory"D:/cls_deploy/cls_svr">
WSGIApplicationGroup%{GLOBAL}
AllowOverrideNone
Requireallgranted
</Directory>
</VirtualHost>
3.3.部署后端項(xiàng)目2配置Apaceh的虛擬主機(jī)最后,為了解決在Apache環(huán)境下無(wú)法從HTTP頭部獲取Authorization參數(shù)的問(wèn)題,我們對(duì)Apache的配置文件進(jìn)行調(diào)整。請(qǐng)打開(kāi)位于D:\Apache24\conf\httpd.conf的配置文件,并在其中找到<IfModuledir_module>這一配置節(jié)點(diǎn)。在該節(jié)點(diǎn)下,我們需要添加“SetEnvIfAuthorization.+HTTP_AUTHORIZATION=$0”配置信息。如圖9.16所示。圖9.16Apache中Authorization的配置信息
3.3.部署后端項(xiàng)目3測(cè)試后端API接口
經(jīng)過(guò)上述一系列的配置步驟,我們已經(jīng)成功地將“古典文學(xué)網(wǎng)”的后端項(xiàng)目部署完畢。接下來(lái),請(qǐng)定位到Apache的安裝目錄,并在該目錄下的bin文件夾中雙擊ApacheMonitor.exe文件,以打開(kāi)ApacheServiceMonitor工具。在工具界面中,單擊相應(yīng)的按鈕啟動(dòng)Apache服務(wù)。具體界面布局和操作可以參考圖9.17所示。圖9.17ApacheServiceMonitor服務(wù)管理界面
3.3.部署后端項(xiàng)目3測(cè)試后端API接口
一旦Apache服務(wù)成功啟動(dòng),我們可以通過(guò)訪問(wèn)“http://localhost:8085/api/classics/get-classictypes”來(lái)調(diào)用文學(xué)導(dǎo)航API接口,從而驗(yàn)證“古典文學(xué)網(wǎng)”后端項(xiàng)目是否已經(jīng)成功部署。測(cè)試結(jié)果如圖9.18所示。圖9.18“古典文學(xué)網(wǎng)”后端項(xiàng)目測(cè)試結(jié)果
3.4.部署前端項(xiàng)目接下來(lái),我們將“古典文學(xué)網(wǎng)”前端項(xiàng)目部署到Apache服務(wù)器,確保用戶能夠順暢地訪問(wèn)并體驗(yàn)“古典文學(xué)網(wǎng)”的各項(xiàng)功能。需求描述:
3.4.部署前端項(xiàng)目任務(wù)步驟:1.打包部署2.配置Apaceh的虛擬主機(jī)3.測(cè)試前端項(xiàng)目
3.4.部署前端項(xiàng)目1.打包部署
為了確保與開(kāi)發(fā)環(huán)境的有效隔離,我們需要構(gòu)建一個(gè)專門(mén)用于項(xiàng)目部署的生產(chǎn)環(huán)境,以便在其中存放并運(yùn)行我們準(zhǔn)備部署的項(xiàng)目。這樣做可以確保生產(chǎn)環(huán)境的穩(wěn)定性和可靠性,同時(shí)避免與開(kāi)發(fā)環(huán)境之間的潛在沖突。首先,請(qǐng)定位到在D盤(pán)下的cls_deploy生產(chǎn)環(huán)境目錄,它在前一節(jié)中已經(jīng)被創(chuàng)建。接下來(lái),在該目錄下新建一個(gè)名為cls_clt的文件夾,作為“古典文學(xué)網(wǎng)”前端項(xiàng)目的生產(chǎn)環(huán)境目錄(即路徑為D:/cls_deploy/cls_clt)。
3.4.部署前端項(xiàng)目1.打包部署接下來(lái),我們將對(duì)前端項(xiàng)目進(jìn)行構(gòu)建和打包。首先,利用VSCode開(kāi)發(fā)工具打開(kāi)前端項(xiàng)目cls_clt。隨后,在VSCode的Terminal終端窗口中,鍵入“cnpmrunbuild”命令來(lái)啟動(dòng)構(gòu)建流程。執(zhí)行此命令后,項(xiàng)目會(huì)自動(dòng)進(jìn)行編譯和打包,最終在項(xiàng)目目錄中生成一個(gè)名為dist的文件夾。該文件夾中包含了所有經(jīng)過(guò)優(yōu)化和壓縮的打包文件,它們可以部署至生產(chǎn)環(huán)境中。圖9.19(a)和圖9.19(b)詳細(xì)展示了構(gòu)建和打包后的文件結(jié)構(gòu)以及內(nèi)容概覽。圖9.19(a)項(xiàng)目構(gòu)建結(jié)果圖9.19(b)項(xiàng)目dist文件夾中的打包文件
3.4.部署前端項(xiàng)目1.打包部署最后,我們將執(zhí)行一個(gè)重要的步驟,即將dist文件夾中所有編譯和打包完成的文件復(fù)制到前端項(xiàng)目的生產(chǎn)環(huán)境目錄(即D:/cls_deploy/cls_clt),以確保用戶能夠訪問(wèn)到最新的前端資源。
3.4.部署前端項(xiàng)目2.配置Apaceh的虛擬主機(jī)經(jīng)過(guò)前一節(jié)的操作,我們已經(jīng)對(duì)“古典文學(xué)網(wǎng)”的前端項(xiàng)目進(jìn)行了打包,并將這些打包文件復(fù)制到了生產(chǎn)環(huán)境目錄。接下來(lái),為了確保前端項(xiàng)目能夠正確運(yùn)行,我們需要為其配置相應(yīng)的虛擬主機(jī)。請(qǐng)按照以下步驟進(jìn)行配置。首先,為了解決前端項(xiàng)目可能遇到的跨域問(wèn)題,我們需要為Apache服務(wù)器配置反向代理。這要求Apache服務(wù)器加載與代理相關(guān)的模塊,否則代理配置將無(wú)法生效。請(qǐng)打開(kāi)位于D:\Apache24\conf\httpd.conf的配置文件,查找以下2行配置信息,并去掉這兩行代碼前面的#符號(hào)。LoadModule
proxy_module
modules/mod_proxy.soLoadModule
proxy_http_module
modules/mod_proxy_http.so
3.4.部署前端項(xiàng)目2.配置Apaceh的虛擬主機(jī)接下來(lái),我們需要配置虛擬主機(jī)來(lái)部署前端項(xiàng)目。請(qǐng)打開(kāi)位于conf/extra/httpd-vhos
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程公司財(cái)務(wù)制度
- 咸寧彩色混凝土施工方案
- 磚砌污水井施工方案
- 砼護(hù)欄施工方案
- 南山車庫(kù)防水施工方案
- 廣西噴泉維修施工方案
- 6mm 650nm 5mw 紅光點(diǎn)狀激光 pd腳作用
- 5年級(jí)下冊(cè)人教版英語(yǔ)詞語(yǔ)表
- 5年級(jí)白鷺第二自然段改寫(xiě)成一段說(shuō)明文
- 橋梁端頭封堵施工方案
- 危險(xiǎn)作業(yè)安全知識(shí)培訓(xùn)
- 關(guān)鍵施工技術(shù)、工藝與工程項(xiàng)目實(shí)施的重點(diǎn)、難點(diǎn)和解決方案
- 鋼筋原材質(zhì)量證明書(shū)
- WH/T 42-2011演出場(chǎng)所安全技術(shù)要求第2部分:臨時(shí)搭建演出場(chǎng)所舞臺(tái)、看臺(tái)安全技術(shù)要求
- GB/T 4292-2017氟化鋁
- GB/T 41-20161型六角螺母C級(jí)
- GB/T 3811-2008起重機(jī)設(shè)計(jì)規(guī)范
- GB/T 23445-2009聚合物水泥防水涂料
- CB/T 615-1995船底吸入格柵
- 11471勞動(dòng)爭(zhēng)議處理(第10章)
- 瓷貼面教學(xué)課件
評(píng)論
0/150
提交評(píng)論