![Linux操作系統(tǒng)基礎(chǔ)與應(yīng)用(CentOS Stream 9) 課件 項(xiàng)目11 使用LNMP架構(gòu)部署網(wǎng)絡(luò)_第1頁](http://file4.renrendoc.com/view14/M03/0C/09/wKhkGWY4ihyAMyhfAADmn1Myb58681.jpg)
![Linux操作系統(tǒng)基礎(chǔ)與應(yīng)用(CentOS Stream 9) 課件 項(xiàng)目11 使用LNMP架構(gòu)部署網(wǎng)絡(luò)_第2頁](http://file4.renrendoc.com/view14/M03/0C/09/wKhkGWY4ihyAMyhfAADmn1Myb586812.jpg)
![Linux操作系統(tǒng)基礎(chǔ)與應(yīng)用(CentOS Stream 9) 課件 項(xiàng)目11 使用LNMP架構(gòu)部署網(wǎng)絡(luò)_第3頁](http://file4.renrendoc.com/view14/M03/0C/09/wKhkGWY4ihyAMyhfAADmn1Myb586813.jpg)
![Linux操作系統(tǒng)基礎(chǔ)與應(yīng)用(CentOS Stream 9) 課件 項(xiàng)目11 使用LNMP架構(gòu)部署網(wǎng)絡(luò)_第4頁](http://file4.renrendoc.com/view14/M03/0C/09/wKhkGWY4ihyAMyhfAADmn1Myb586814.jpg)
![Linux操作系統(tǒng)基礎(chǔ)與應(yīng)用(CentOS Stream 9) 課件 項(xiàng)目11 使用LNMP架構(gòu)部署網(wǎng)絡(luò)_第5頁](http://file4.renrendoc.com/view14/M03/0C/09/wKhkGWY4ihyAMyhfAADmn1Myb586815.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目11使用LNMP架構(gòu)部署網(wǎng)站SUBTITLEHEREMindShow.fun2023-06-05CONTENTS學(xué)習(xí)目標(biāo)項(xiàng)目情境思維導(dǎo)圖任務(wù)11-1了解LNMP架構(gòu)任務(wù)11-2安裝與配置Nginx服務(wù)器任務(wù)11-3安裝MariaDB數(shù)據(jù)庫任務(wù)11-4安裝配置PHP環(huán)境任務(wù)11-5部署基于LNMP的WordPress博客網(wǎng)站拓展知識項(xiàng)目實(shí)訓(xùn)項(xiàng)目小結(jié)項(xiàng)目11使用LNMP架構(gòu)部署網(wǎng)站01學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)知識目標(biāo)能力目標(biāo)素養(yǎng)目標(biāo)知識目標(biāo)了解LNMP架構(gòu)的含義熟悉Nginx服務(wù)器熟悉MariaDB數(shù)據(jù)庫熟悉php-fpm服務(wù)能力目標(biāo)能熟練使用Nginx部署web服務(wù)器能熟練使用MariaDB數(shù)據(jù)庫能夠正確架設(shè)LNMP環(huán)境能夠運(yùn)維管理LNMP架構(gòu)環(huán)境素養(yǎng)目標(biāo)能夠嚴(yán)格按照職業(yè)規(guī)范要求進(jìn)行安全操作02任務(wù)11-1了解LNMP架構(gòu)任務(wù)11-1了解LNMP架構(gòu)任務(wù)目標(biāo)11.1.1LNMP是什么11.1.2Nignx是什么11.1.3Mysql、MariaDB是什么11.1.4PHP是什么11.1.5LNMP架構(gòu)工作原理11.1.6LNMP架構(gòu)部署方式任務(wù)目標(biāo)
小陳計(jì)劃在LNMP架構(gòu)下部署自己的個人博客。在開始實(shí)際部署之前,小陳決定先了解一下LNMP架構(gòu)的概念、基本工作流程以及常用的部署方式。
因此,小陳制定了如下的任務(wù)目標(biāo):了解LNMP是什么。了解Nginx,MYSQL和PHP。熟悉LNMP架構(gòu)工作原理和部署方式。11.1.1LNMP是什么LNMP指的是在Linux操作系統(tǒng)中分別安裝Nginx網(wǎng)頁服務(wù)器、MySQL數(shù)據(jù)庫服務(wù)器和PHP開發(fā)服務(wù)器,以及一些對應(yīng)的擴(kuò)展軟件而構(gòu)成的一種動態(tài)網(wǎng)站運(yùn)行環(huán)境。LNMP簡單說就是:Linux+Nginx+MySQL+PHP或者Linux+Nginx+MARIADB+PHP。
相較于LAMP,LNMP使用Nginx網(wǎng)頁服務(wù)器取代了Apache網(wǎng)頁服務(wù)器。Nginx是一款高性能的HTTP網(wǎng)頁服務(wù)器和反向代理服務(wù)器,它的執(zhí)行效率極高,配置相比Apache也較為簡單,所以在短時間內(nèi)被國內(nèi)外很多大型公司所采用,大有取代Apache的勢頭(目前Apache和Ngnix使用量基本持平),這也是本文采用LNMP的原因。Nginx是一款高性能的開源Web服務(wù)器軟件,也可以用作反向代理、負(fù)載均衡器和HTTP緩存。它采用事件驅(qū)動模型和異步非阻塞IO處理方式,能夠處理大量并發(fā)連接,同時占用較少的系統(tǒng)資源。Nginx被廣泛應(yīng)用于高流量的網(wǎng)站和Web應(yīng)用程序中,如亞馬遜、谷歌、微軟等公司都在使用Nginx。1.Nignx的功能Nginx的功能很多,如作為Web服務(wù)器、反向代理服務(wù)器、負(fù)載均衡服務(wù)器和緩存服務(wù)器等。(1)Web服務(wù)器Nginx是一個高性能的Web服務(wù)器軟件。與Apache相比,它能支持的并發(fā)連接更多,占用服務(wù)器資源較少,并且請求處理效率較高。(2)反向代理服務(wù)器Nginx可以作為HTTP服務(wù)器或數(shù)據(jù)庫服務(wù)的代理服務(wù)器,與Haproxy代理軟件的功能相似,但Nginx的代理功能相對簡單,處理請求的效率不及Haproxy。(3)負(fù)載均衡服務(wù)器Nginx可以作為負(fù)載均衡服務(wù)器,將客戶端的請求流量分配給后端多個應(yīng)用程序服務(wù)器,從而提高Web應(yīng)用程序服務(wù)器的性能、可伸縮性與可靠性。(4)緩存服務(wù)器Nginx可以用作緩存服務(wù)器,與專業(yè)的緩存軟件功能相似。11.1.2Nignx是什么2.Nignx的優(yōu)點(diǎn)Nginx的優(yōu)點(diǎn)包括:高性能:采用事件驅(qū)動模型和異步非阻塞IO處理方式,能夠處理大量并發(fā)連接,同時占用較少的系統(tǒng)資源。高可靠性:Nginx具有優(yōu)秀的容錯能力和穩(wěn)定性,支持熱部署,能夠在不中斷服務(wù)的情況下進(jìn)行軟件升級。高擴(kuò)展性:Nginx支持模塊化架構(gòu),用戶可以根據(jù)需要選擇和定制不同的模塊,以滿足不同的應(yīng)用場景。靈活性:Nginx支持反向代理、負(fù)載均衡、HTTP緩存等多種應(yīng)用場景,可以根據(jù)需要進(jìn)行配置和調(diào)整。安全性:Nginx具有豐富的安全功能,如SSL/TLS加密、基于IP地址的訪問控制、請求限速等,可以有效保護(hù)Web應(yīng)用程序的安全。11.1.2Nignx是什么11.1.3Mysql、MariaDB是什么1.Mysql簡介MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),由瑞典MySQLAB公司開發(fā),后被Sun公司收購,現(xiàn)在屬于Oracle旗下產(chǎn)品。MySQL支持多種操作系統(tǒng),包括Linux、Windows和MacOS等,以及多種編程語言,如C、C++、Java、Python等。MySQL具有高性能、可靠性和安全性等特點(diǎn),在Web應(yīng)用程序、企業(yè)應(yīng)用程序等各種場景中被廣泛應(yīng)用。MySQL數(shù)據(jù)庫有很多版本,具體介紹如下。Alpha版本:一般只在軟件開發(fā)公司內(nèi)部運(yùn)行,不對外公開。Beta版本:完成功能開發(fā)和所有測試工作后的產(chǎn)品,不會存在較大的功能或性能Bug。RC版本:屬于正式發(fā)布前的一個版本,是最終測試版本,進(jìn)一步收集Bug或不足之處,然后進(jìn)行修復(fù)和完善。GA版本:軟件產(chǎn)品正式發(fā)布的版本,也是生產(chǎn)環(huán)境中使用的版本。2.MaraiaDBMariaDB由MySQL的創(chuàng)始人MichaelWidenius主導(dǎo)開發(fā),他早前曾以10億美元的價(jià)格,將自己創(chuàng)建的公司MySQLAB公司賣給了SUN公司。此后,隨著SUN被Oracle收購,MySQL的所有權(quán)也落入Oracle的手中。在Oracle控制下的MySQL的開發(fā),有兩個主要問題:MySQL核心開發(fā)團(tuán)隊(duì)是封閉的,完全沒有Oracle之外的成員參加。很多高手即使有心做貢獻(xiàn),也沒辦法做到。MySQL新版本的發(fā)布速度,在Oracle收購Sun之后大為減緩。MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個分支,主要由開源社區(qū)在維護(hù),采用GPL授權(quán)許可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。MariaDB在擴(kuò)展功能、存儲引擎以及一些新的功能改進(jìn)方面都強(qiáng)過MySQL。在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。11.1.3Mysql、MariaDB是什么PHP是一種開源的服務(wù)器端腳本語言,用于Web開發(fā)和動態(tài)網(wǎng)頁生成。它可以嵌入HTML中,也可以作為獨(dú)立的腳本運(yùn)行。PHP支持多種數(shù)據(jù)庫,如MySQL、Oracle、PostgreSQL等,以及多種協(xié)議,如HTTP、SMTP、FTP等。PHP的語法簡單易學(xué),具有很好的可移植性和擴(kuò)展性,因此被廣泛應(yīng)用于Web開發(fā)領(lǐng)域。許多知名的網(wǎng)站和Web應(yīng)用程序,如Facebook、Wikipedia、WordPress等都是使用PHP開發(fā)的。PHP具有以下特點(diǎn):1.開源免費(fèi)PHP是一個受眾大并且擁有眾多開發(fā)者的開源軟件項(xiàng)目,Linux+Nginx+Mysql+PHP是它的經(jīng)典安裝部署方式,相關(guān)的軟件全部都是開源免費(fèi)的,所以使用PHP可以節(jié)約大量的正版授權(quán)費(fèi)用。不過PHP作為一個開源軟件,它缺乏大型科技公司的支持背景,網(wǎng)絡(luò)上對它的唱衰也是經(jīng)久不衰,不過它的持續(xù)迭代和性能持續(xù)增強(qiáng)的現(xiàn)實(shí)卻是鼓舞人心的,PHP社區(qū)用實(shí)際行動給予各種質(zhì)疑強(qiáng)有力的回?fù)簟?1.1.4PHP是什么2.快捷高效PHP的內(nèi)核是C語言編寫的基礎(chǔ)好效率高,可以用C語言開發(fā)高性能的擴(kuò)展組件;PHP的核心包含了數(shù)量超過1000的內(nèi)置函數(shù),功能應(yīng)有盡有很全面,開箱即用程序代碼簡潔;PHP數(shù)組支持動態(tài)擴(kuò)容,支持以數(shù)字、字符串或者混合鍵名的關(guān)聯(lián)數(shù)組,能大幅提高開發(fā)效率;PHP是一門弱類型語言,程序編譯通過率高,相對其他強(qiáng)類型語言開發(fā)效率快;PHP天然熱部署,在php-fpm運(yùn)行模式下代碼文件覆蓋即完成熱部署;PHP經(jīng)過20多年的發(fā)展,在互聯(lián)網(wǎng)上可以搜到海量的參考資料供參考學(xué)習(xí)。3.性能提升PHP版本越高它的整體性能越高,根據(jù)官方介紹,PHP7.0對比PHP5.6性能就提升了2倍,PHP7.4已經(jīng)比PHP7.0快了約30%,PHP8.0在性能上又相對PHP7.4大約改進(jìn)了10%。PHP8.0引入了JIT編譯器特性,同時加入多種新的語言功能。PHP擁有自己的核心開發(fā)團(tuán)隊(duì),保持5年發(fā)布一個大版本。11.1.4PHP是什么4.跨平臺每個平臺都有對應(yīng)的php解釋器版本,指針對不同平臺均編譯出目標(biāo)平臺的二進(jìn)制碼(PHP解釋器),php開發(fā)的程序可以不經(jīng)修改運(yùn)行在Windows、Linux、unix等多個操作系統(tǒng)上。5.常駐內(nèi)存php-cli模式下可以實(shí)現(xiàn)程序常駐內(nèi)存,各種變量和數(shù)據(jù)庫連接都能長久保存在內(nèi)存實(shí)現(xiàn)資源復(fù)用,比較常用的做法是結(jié)合swoole組件編寫cli框架
6.頁面級生命周期在php-fpm模式下,所有的變量都是頁面級的,無論是全局變量還是類的靜態(tài)成員,都會在頁面執(zhí)行完畢后被清空,對程序員水平要求低,占用內(nèi)存非常少,特別適合中小型系統(tǒng)的開發(fā)11.1.4PHP是什么11.1.5LNMP架構(gòu)工作原理1.Nginx與PHP的協(xié)同工作機(jī)制Nginx是一個靜態(tài)Web服務(wù)器和HTTP請求轉(zhuǎn)發(fā)器,它可以直接回應(yīng)客戶端對靜態(tài)資源的請求,對動態(tài)資源的請求需要通過快速通用網(wǎng)關(guān)接口(FastCommonGatewayInterface,F(xiàn)astCGl)轉(zhuǎn)發(fā)給后臺的腳本程序解析服務(wù)器進(jìn)行處理。FastCGI采用C/S結(jié)構(gòu),可以將Web服務(wù)器和腳本程序解析服務(wù)器相分離,讓W(xué)eb服務(wù)器專一地處理靜態(tài)請求和轉(zhuǎn)發(fā)動態(tài)請求,而腳本程序解析服務(wù)器則專一地處理動態(tài)請求。在LNMP架構(gòu)的服務(wù)器中,處理PHP動態(tài)資源的后臺服務(wù)是PHPFastCGI進(jìn)程管理器(PHPFastCGlProcessManager,PHP-FPM)。PHP-FPM啟動后包含master和worker兩種進(jìn)程:master進(jìn)程只有一個,它負(fù)責(zé)監(jiān)聽、接收來自Nginx服務(wù)器的請求和管理調(diào)度worker進(jìn)程;而worker進(jìn)程一般有多個,每個進(jìn)程的內(nèi)部都嵌入了一個PHP解釋器,負(fù)責(zé)解析執(zhí)行PHP程序。由此可見Nginx服務(wù)器負(fù)責(zé)處理靜態(tài)資源請求,PHP-FPM負(fù)責(zé)處理PHP腳本程序,兩者都遵循FastCGI協(xié)議進(jìn)行通信,完成協(xié)同工作。2.LNMP服務(wù)器的工作原理LNMP服務(wù)器的工作流程如圖11.2所示。11.1.5LNMP架構(gòu)工作原理圖11.2LNMP服務(wù)器工作流程LNMP服務(wù)器的具體工作過程如下:用戶通過瀏覽器發(fā)送HTTPRequest請求到Nginx服務(wù)器,該服務(wù)器響應(yīng)并處理請求。如果請求的是靜態(tài)資源,則該服務(wù)器直接將靜態(tài)資源(CSS、圖片、視頻等)返回。如果請求的是動態(tài)數(shù)據(jù),則Nginx服務(wù)器將PHP腳本程序通過FastCGI協(xié)議傳輸給PHP-FPM,由PHP-FPM響應(yīng),然后將PHP腳本程序交給worker進(jìn)程(內(nèi)嵌了PHP解釋器)解析執(zhí)行。可以同時啟動多個worker進(jìn)程,并發(fā)執(zhí)行。PHP腳本程序執(zhí)行完畢,將解析后的腳本返回到PHP-FPM,PHP-FPM再以FastCGI的形式將腳本信息傳送給Nginx服務(wù)器。Nginx服務(wù)器再以HTTPReponse形式傳送給瀏覽器,瀏覽器進(jìn)行解析與渲染,最后呈現(xiàn)給用戶。11.1.5LNMP架構(gòu)工作原理
部署LNMP環(huán)境的方式有多種,一般根據(jù)應(yīng)用的實(shí)際情況來進(jìn)行選擇。常見的LNMP部署方式有三種,分別是:使用dnf安裝:簡單,部署速度快,適合新手,不能定制化。使用二進(jìn)制源碼:部署需要的時間長,需要配置的項(xiàng)較多,但能夠自由定制。使用一鍵安裝包:簡單,部署時間適中,可以進(jìn)行定制化部署。11.1.6LNMP架構(gòu)部署方式03任務(wù)11-2安裝與配置Nginx服務(wù)器任務(wù)11-2安裝與配置Nginx服務(wù)器任務(wù)目標(biāo)11.2.1安裝Nginx軟件包11.2.2熟悉Nginx的配置文件任務(wù)目標(biāo)
小陳經(jīng)過比較后發(fā)現(xiàn),Nginx作為一款高性能的靜態(tài)Web服務(wù)器,具有占用內(nèi)存少且具備強(qiáng)大的并發(fā)能力的特點(diǎn)。因此,小陳決定在他的博客服務(wù)器上使用Nginx來搭建。
因此,小陳制定了如下的任務(wù)目標(biāo):掌握Nginx軟件的基本安裝方法。熟悉Nginx服務(wù)器主配置文件。能夠配置虛擬主機(jī)。說明:為了學(xué)習(xí)方便,小陳的服務(wù)器部署在虛擬機(jī)環(huán)境下。以最小化方式安裝了CentOSStream9系統(tǒng),以NAT模式連接外網(wǎng)??蛻舳耸褂梦锢頇C(jī)模擬。虛擬機(jī)節(jié)點(diǎn)的具體規(guī)劃如表11.1所示。11.2.1安裝Nginx軟件包1.安裝Nignx(1)安裝Nginx所需要的依賴庫軟件。首先配置啟用epel-release源,增加可用的rpm軟件包。(2)使用dnf安裝Nignx軟件包。(3)啟動Nginx服務(wù),并設(shè)置為開機(jī)自啟并檢查服務(wù)狀態(tài)。(4)查看80端口的監(jiān)聽狀態(tài)。11.2.1安裝Nginx軟件包(5)查看Nginx進(jìn)程運(yùn)行狀態(tài)。11.2.1安裝Nginx軟件包2.配置防火墻配置firewalld防火墻,開啟服務(wù)器的TCP80號端口。3.關(guān)閉SElinux安全系統(tǒng)11.2.1安裝Nginx軟件包11.2.1安裝Nginx軟件包4.訪問測試頁
在物理機(jī)的瀏覽器地址欄中輸如“00”,打開Nginx服務(wù)器的測試頁面,如圖11.3所示。圖11.3Nginx服務(wù)器測試頁面安裝完Nginx后,需記住如表11.2所示的Nginx常用目錄。11.2.2熟悉Nginx的配置文件1.Nginx主配置文件Nginx的主配置文件/etc/nginx/nginx.conf中的每個指令必須以分號結(jié)束,文中以#號開頭的行是注釋行。整個配置文件以“塊”的形式組織在一起,每個塊一般以一對大括號“{}”表示(全局塊例外)。Nginx的配置文件相當(dāng)簡潔,主要分為三部分:全局塊、events塊、http塊。全局塊:配置服務(wù)器整體運(yùn)行的配置指令,如worker_processes1。events塊:影響Nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接,如worker_connections1024。http塊:此塊包含兩個子塊,http全局塊和server塊。11.2.2熟悉Nginx的配置文件11.2.2熟悉Nignx的配置文件11.2.2熟悉Nginx的配置文件2.配置NginxNginx提供了三種類型的虛擬主機(jī)配置,包括基于域名的虛擬主機(jī)、基于IP的虛擬主機(jī)和基于端口的虛擬主機(jī)。接下來將逐一介紹這三種虛擬主機(jī)的配置方法。配置基于域名的虛擬主機(jī)創(chuàng)建基礎(chǔ)站點(diǎn)目錄這里不再使用Nginx默認(rèn)的站點(diǎn)目錄,在生產(chǎn)環(huán)境下也不建議使用默認(rèn)目錄。手工創(chuàng)建需要的站點(diǎn)目錄并設(shè)置相關(guān)權(quán)限。11.2.2熟悉Nginx的配置文件②創(chuàng)建默認(rèn)首頁文件創(chuàng)建好站點(diǎn)目錄后,接下來創(chuàng)建兩個站點(diǎn)的默認(rèn)首頁文件。11.2.2熟悉Nginx的配置文件③配置基于域名的虛擬主機(jī)
在/etc/nginx/conf.d/目錄下新建ceshi.conf虛擬機(jī)配置文件,內(nèi)容如下。11.2.2熟悉Nginx的配置文件11.2.2熟悉Nginx的配置文件注意:對于Nginx,servername參數(shù)可以是一個域名,也可以是多個域名并列,域名之間用空格隔開。訪問多個域名時,其實(shí)訪問的是同一個網(wǎng)站。其格式如下:在servername中還可以使用通配符“*",同樣是由3部分組成的,其格式如下:11.2.2熟悉Nginx的配置文件④修改/etc/hosts文件,實(shí)現(xiàn)本機(jī)地址解析
由于本服務(wù)器是用來在本地測試,沒有公網(wǎng)上的正是域名,所以這里采取本機(jī)地址解析的方法,操作如下。(生產(chǎn)環(huán)境下請用其他方式解析域名)11.2.2熟悉Nginx的配置文件⑤語法檢查并重載服務(wù)配置文件⑥瀏覽器測試在本服務(wù)器中打開瀏覽器訪問相對應(yīng)的域名,訪問結(jié)果如圖11.4所示。(注意:使用物理機(jī)訪問可能會出錯)。圖11.4使用域名訪問結(jié)果11.2.2熟悉Nginx的配置文件(2)配置基于ip的虛擬主機(jī)添加IP地址Linux系統(tǒng)支持IP別名的功能。配置基于IP的虛擬主機(jī),即給Nginx服務(wù)器主機(jī)配置多個不同的IP,所以需要在同一物理網(wǎng)卡中使用nmcli命令添加多個不同的IP地址。具體執(zhí)行命令如下:11.2.2熟悉Nginx的配置文件②改虛擬機(jī)配置文件
修/etc/nginx/conf.d/目錄下ceshi.conf虛擬機(jī)配置文件,內(nèi)容如下:11.2.2熟悉Nginx的配置文件11.2.2熟悉Nginx的配置文件③語法檢查并重載服務(wù)配置文件④瀏覽器測試在客戶機(jī)中打開瀏覽器訪問相對應(yīng)的IP,訪問結(jié)果如圖11.5所示。圖11.5使用IP訪問結(jié)果11.2.2熟悉Nginx的配置文件(3)配置基于端口的虛擬主機(jī)通過上面兩種虛擬主機(jī)配置方式可以看出,虛擬機(jī)配置起來相當(dāng)?shù)暮唵??;诙丝诘奶摂M主機(jī)配置也一樣,只需要開放不同的端口給Nginx,然后客戶端通過訪問不同的端口來訪問不同的虛擬主機(jī)。修改虛擬機(jī)配置文件修/etc/nginx/conf.d/目錄下ceshi.conf虛擬機(jī)配置文件,內(nèi)容如下:11.2.2熟悉Nginx的配置文件11.2.2熟悉Nginx的配置文件②設(shè)置防火墻配置firewalld防火墻,開啟服務(wù)器的TCP8001和TCP8002號端口。11.2.2熟悉Nginx的配置文件③語法檢查并重載服務(wù)配置文件④瀏覽器測試在客戶機(jī)中打開瀏覽器訪問相對應(yīng)的IP端口號,訪問結(jié)果如圖11.6所示。圖11.6使用IP端口訪問結(jié)果04任務(wù)11-3安裝MariaDB數(shù)據(jù)庫任務(wù)11-3安裝MaraiaDB數(shù)據(jù)庫任務(wù)目標(biāo)11.3.1安裝MaraiaDB11.3.2初始MaraiaDB
11.3.3管理MaraiaDB任務(wù)目標(biāo)
陳通過之前的學(xué)習(xí)了解到,MariaDB是MySQL的一個分支,并且在幾乎所有方面都與MySQL兼容,甚至在某些方面更優(yōu)越。最重要的是,MariaDB是由一個開放的社區(qū)進(jìn)行維護(hù),不存在版權(quán)問題。因此,小陳決定在自己的服務(wù)器上使用MariaDB來提供數(shù)據(jù)庫服務(wù)。因此,小陳制定如下的任務(wù)目標(biāo):能夠正確安裝MariaDB。熟悉MariaDB的配置。能完成MariaDB的基本管理操作。11.3.1安裝MaraisDB
在LNMP架構(gòu)中,早期的M表示MySQL數(shù)據(jù)庫系統(tǒng),因?yàn)樵缙诘腖inux發(fā)行版本多數(shù)都使用MySQL,而近年來,RHEL及CentOS等新的發(fā)行版本中,開始陸續(xù)采用MariaDB代替MySQL。MariaDB兼容MySQL,支持多種類型的操作系統(tǒng)及編程語言。MariaDB可用于GPL、LGPL和BSD等多種許可協(xié)議,避免了MySQL被Oracle收購后引發(fā)的許可證問題,它提供了多種存儲引擎(包括高性能存儲引擎),用于與其他關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的數(shù)據(jù)源一起工作。MariaDB和MySQL在性能上基本保持一致,兩者的操作命令也十分相似。從務(wù)實(shí)的角度來講,在掌握了MariaDB數(shù)據(jù)庫的命令和基本操作之后,在今后的工作中即使遇到MySQL數(shù)據(jù)庫,也可以快速上手。1.MaraiaDBCentOSStream9的資源庫中已經(jīng)包含了MariaDB,所以這里我們直接安裝:2.MaraiDB初始位置這里要做三件事情。首先啟動MariaDB服務(wù),然后將其設(shè)置為開機(jī)自啟,最后查看其運(yùn)行狀態(tài)。11.3.1安裝MaraisDB11.3.2初始化MaraisDB1.初始化MariaDB數(shù)據(jù)庫MariaDB數(shù)據(jù)庫軟件安裝完畢并成功啟動后請不要立即使用。為了確保數(shù)據(jù)庫的安全性和正常運(yùn)轉(zhuǎn),需要先對數(shù)據(jù)庫程序進(jìn)行初始化操作。這個初始化操作涉及下面5個步驟:設(shè)置root管理員在數(shù)據(jù)庫中的密碼值(注意,該密碼并非root管理員在系統(tǒng)中的密碼,這里的密碼值默認(rèn)應(yīng)該為空,可直接按回車鍵)。設(shè)置root管理員在數(shù)據(jù)庫中的專有密碼。刪除匿名用戶,并使用root管理員從遠(yuǎn)程登錄數(shù)據(jù)庫,以確保數(shù)據(jù)庫上運(yùn)行的業(yè)務(wù)的安全性。刪除默認(rèn)的測試數(shù)據(jù)庫,取消測試數(shù)據(jù)庫的一系列訪問權(quán)限。刷新授權(quán)列表,讓初始化的設(shè)定立即生效。11.3.2初始化MaraisDB2.登錄MariaDB數(shù)據(jù)庫
配置完畢,即可使用root(初始化時設(shè)置的密碼是000000)用戶登錄MariaDB數(shù)據(jù)庫,操作如下:
1.數(shù)據(jù)庫操作對數(shù)據(jù)庫的常用操作包括:創(chuàng)建數(shù)據(jù)庫、選擇數(shù)據(jù)庫和刪除數(shù)據(jù)庫(1)創(chuàng)建數(shù)據(jù)庫登錄數(shù)據(jù)庫后,使用“createdatabase數(shù)據(jù)庫名;”完成對數(shù)據(jù)庫的創(chuàng)建。然后可以使用“showdatabases;”命令來查看目前所有數(shù)據(jù)庫信息。MySQL數(shù)據(jù)庫默認(rèn)自帶3個數(shù)據(jù)庫,information_schema數(shù)據(jù)庫存儲相關(guān)信息,mysql數(shù)據(jù)庫存儲授權(quán)表,performance_schema數(shù)據(jù)庫存儲數(shù)據(jù)庫性能參數(shù),可以用來提升數(shù)據(jù)庫的性能。創(chuàng)建couman數(shù)據(jù)庫操作如下:11.3.3管理MaraisDB(2)選擇數(shù)據(jù)庫
當(dāng)需要對某一數(shù)據(jù)庫進(jìn)行操作時,首先需要選擇該數(shù)據(jù)庫才能操作,使用“use數(shù)據(jù)庫名字;”命令來完成。選擇couman數(shù)據(jù)庫操作如下:(3)刪除數(shù)據(jù)庫使用“dropdatabase數(shù)據(jù)庫名;”命令刪除指定數(shù)據(jù)庫。刪除數(shù)據(jù)庫時,連同數(shù)據(jù)庫里的所有表(包括其中的數(shù)據(jù))和數(shù)據(jù)庫目錄都將被刪除。刪除couman數(shù)據(jù)庫操作如下:11.3.3管理MaraisDB
當(dāng)刪除不存在的數(shù)據(jù)庫時,會提示錯誤信息,為了避免這種情況發(fā)生,可以在命令中加入ifexists子句。刪除一個可能不存在的數(shù)據(jù)庫操作如下:11.3.3管理MaraisDB2.數(shù)據(jù)表操作
創(chuàng)建數(shù)據(jù)庫之后,需要進(jìn)一步創(chuàng)建和管理數(shù)據(jù)表。每個表由行和列組成,每行是一條記錄,每個記錄包含多個列(字段)。對數(shù)據(jù)庫表的常用操作主要包括:創(chuàng)建表,修改表,克隆表,刪除表。(1)創(chuàng)建表
創(chuàng)建表的SQL語句格式如下。11.3.3管理MaraisDB
其中字段類型,也稱作列類型,規(guī)定了某個字段所允許輸入的數(shù)據(jù)類型。常見的字段類型見表11.3。11.3.3管理MaraisDB字段約束用于進(jìn)一步約束某個字段允許輸入的數(shù)據(jù)。常見的字段約束見表11.4。表11.4字段約束11.3.3管理MaraisDB表約束用于確定表的主鍵、外鍵和索引等。見表11.5。表11.5表級約束11.3.3管理MaraisDB
表類型指明了表中數(shù)據(jù)存儲的格式,MariaDB支持多個存儲引擎作為不同類型的處理器。默認(rèn)的為“innoDB”處理器,對應(yīng)的存儲引擎為“innoDB”。MariaDB數(shù)據(jù)庫支持的表存儲引擎見表11.6。表11.6表存儲引擎11.3.3管理MaraisDB11.3.3管理MaraisDB11.3.3管理MaraisDB
一旦數(shù)據(jù)庫創(chuàng)建成功,會在/var/lib/mysql下生成一個與數(shù)據(jù)庫同名的目錄。表創(chuàng)建成功后會在該目錄中生成“表名.frm”文件表示新建的表格式,表數(shù)據(jù)和索引放在“表名.ibd”文件中。
本例中我們要創(chuàng)建以下三個表:員工信息表(employee),字段:員工號(eno)、姓名(ename)、性別(sex)、項(xiàng)目組(groups);考核內(nèi)容表(exam),字段:內(nèi)容序號(exid)、考核內(nèi)容(cname);員工考核信息表(score,)字段:序號(scid)、員工號(eno)、內(nèi)容序號(exid)、成績(score)。11.3.3管理MaraisDB(2)修改表
修改表的SQL語句格式如下。
可以對表的結(jié)構(gòu)進(jìn)行修改,包括添加、刪除或修改字段,更改表名或類型等。操作包括add、change、modify、drop和rename等。11.3.3管理MaraisDB(3)克隆表
克隆表的SQL語句格式如下。
克隆的內(nèi)容包括表結(jié)構(gòu)、表中的數(shù)據(jù)和約束,并用源表數(shù)據(jù)填充副本。(4)刪除表
刪除表的SQL語句格式如下。
用于刪除一個或多個已存在的表,表結(jié)構(gòu)和表中的數(shù)據(jù)都將被刪除。11.3.3管理MaraisDB3.處理表數(shù)據(jù)
創(chuàng)建數(shù)據(jù)庫和表后,下一步要做的就是處理數(shù)據(jù)。一般情況下,需要使用SQL語句來增加,更新,查詢和刪除數(shù)據(jù)表中的記錄。(1)增加記錄
增加的SQL語句格式如下。(2)更新記錄
更新的SQL語句格式如下。11.3.3管理MaraisDB(3)查詢記錄
查詢的SQL語句格式如下。(4)刪除記錄
刪除的SQL語句格式如下。11.3.3管理MaraisDB4.數(shù)據(jù)庫的權(quán)限管理(1)數(shù)據(jù)庫權(quán)限介紹與處理邏輯MariaDB數(shù)據(jù)庫服務(wù)采用了基于白名單的權(quán)限策略,這意味著明確指定了哪些用戶可以執(zhí)行哪些操作,但無法明確指定哪些用戶不能執(zhí)行某些操作。權(quán)限驗(yàn)證主要通過MariaDB庫中的五個數(shù)據(jù)字典表(mysql.user、mysql.db、mysql.tables_priv、mysql.columns_priv、c_priv)來實(shí)現(xiàn)對不同粒度權(quán)限需求的控制。下表列出了MariaDB數(shù)據(jù)庫中授權(quán)表的表名和說明。11.3.3管理MaraisDB表11.7MariaDB數(shù)據(jù)庫中授權(quán)表11.3.3管理MaraisDB
當(dāng)用戶登錄數(shù)據(jù)庫時,會根據(jù)這幾張表中的內(nèi)容來決定用戶的訪問權(quán)限,決定過程如下:首先從user表中的host,user,passwd這三個字段判斷連接的IP,用戶名,密碼是否存在表中,存在則通過身份驗(yàn)證;然后進(jìn)行權(quán)限分配,首先檢查全局表user,如果user中對應(yīng)的操作權(quán)限為Y,則此用戶對所有數(shù)據(jù)庫的該操作權(quán)限為Y,將不再檢查db,tables_priv和columents_priv中的權(quán)限;如果為N,則到db表中檢查此用戶對應(yīng)的具體數(shù)據(jù)庫,并得到db中為Y的權(quán)限;如果db中為N,則檢查tables_priv表中此數(shù)據(jù)庫對應(yīng)的具體表,取得表中的權(quán)限Y,并依次進(jìn)行類推。MariaDB數(shù)據(jù)庫提供了兩種方法修改授權(quán)表中的訪問權(quán)限。可以使用insert、update和delete等SQL語句手工修改權(quán)限表中的信息或者使用grant和revoke命令。對比兩種方法,后一種更加簡單而方便。
grant命令用于授予權(quán)限,而revoke命令用戶撤銷權(quán)限。11.3.3管理MaraisDBgrant命令的格式:revoke命令的格式:11.3.3管理MaraisDB
數(shù)據(jù)庫的權(quán)限級別見表11.8,如果針對數(shù)據(jù)庫所有內(nèi)容或所有訪問地址進(jìn)行設(shè)置可以使用“%”。
表11.8數(shù)據(jù)庫的權(quán)限級別11.3.3管理MaraisDB11.3.3管理MaraisDB通常在管理數(shù)據(jù)庫權(quán)限時可以基于以下幾點(diǎn)來設(shè)置用戶權(quán)限:只賦予能滿足用戶需要的最小權(quán)限,防止用戶操作不當(dāng)。比如用戶只是需要查詢數(shù)據(jù)信息,則只賦予select權(quán)限,不用給用戶賦予update、insert或delete權(quán)限。創(chuàng)建用戶的時候限制用戶的登錄主機(jī),一般是限制成指定IP或者內(nèi)網(wǎng)IP段。如果安裝完數(shù)據(jù)庫自動創(chuàng)建了無密碼用戶,則最好將這些用戶刪除。為每個用戶設(shè)置滿足密碼復(fù)雜度的密碼。定期清理不需要的用戶,回收權(quán)限或者刪除用戶。11.3.3管理MaraisDB(2)數(shù)據(jù)庫權(quán)限及用戶管理Grant命令創(chuàng)建一個只允許本地登錄的用戶zhangping,并允許將權(quán)限賦予別的用戶,密碼為Zhangping11??!。說明:allprivileges:表示所有權(quán)限,也可以是select、update等具體權(quán)限。on:用來指定權(quán)限針對的數(shù)據(jù)庫和表。*.*:前面的*號用來指定數(shù)據(jù)庫名稱,后面的*號用來指定表名。如果使用*,則表示所有。to:表示將權(quán)限賦予某個用戶。zhangping@'localhost':表示zhangping用戶,@后面接限制的主機(jī),可以是IP,IP段,域名以及%,%號表示任何地方。identifiedby:指定用戶的登錄密碼。withgrantoption:表示該用戶可以將自己的權(quán)限賦予別的用戶。11.3.3管理MaraisDB②權(quán)限刷新當(dāng)管理員對用戶的權(quán)限進(jìn)行了修改操作,是否即時生效呢?針對這個問題,答案是:看情況!如果是通過GRANT、REVOKE、SETPASSWORD、RENAMEUSER等MySQL提供的命令執(zhí)行修改,那么權(quán)限將馬上生效,因?yàn)檫@些命令將觸發(fā)系統(tǒng)重新載入授權(quán)表(GRANTTABLES)到內(nèi)存。如果是手動修改字典表方式(INSERT、UPDATE、DELETE),這種情況下權(quán)限并不會馬上生效,除非重啟MariaDB服務(wù),或者DBA主動觸發(fā)授權(quán)表的重新裝載。當(dāng)授權(quán)表被重新加載后,對當(dāng)前已連接的客戶端又會產(chǎn)生哪些影響呢?具體如下:表或列粒度的權(quán)限將在客戶端下次執(zhí)行操作時生效。數(shù)據(jù)庫級的權(quán)限將在客戶端執(zhí)行USEdb_name語句,切換數(shù)據(jù)庫時生效。全局權(quán)限和密碼修改,對當(dāng)前已連接的客戶端無效,下次連接時才會生效。11.3.3管理MaraisDB③查看權(quán)限
查看當(dāng)前用戶權(quán)限:
查看dpuser0101用戶權(quán)限:11.3.3管理MaraisDB
查看dpuser0102用戶權(quán)限:④收回權(quán)限
回收用戶zhangping的權(quán)限:11.3.3管理MaraisDB⑤對用戶重命名
將用戶名zhangping重命名為liqiang;⑥修改用戶密碼
將liqiang用戶的密碼修改為liqiang123?、邉h除用戶
刪除數(shù)據(jù)庫的用戶liqiang;11.3.3管理MaraisDB5.數(shù)據(jù)庫的備份與恢復(fù)
數(shù)據(jù)庫的備份與恢復(fù)是非常重要的環(huán)節(jié)。由于意外或者其他人為失誤而導(dǎo)致的數(shù)據(jù)丟失,會造成數(shù)據(jù)的嚴(yán)重?fù)p失。因此,定期進(jìn)行數(shù)據(jù)庫備份是非常有必要的。
在MariaDB數(shù)據(jù)庫中,可以使用命令進(jìn)行數(shù)據(jù)備份與恢復(fù)。它是將數(shù)據(jù)庫中的數(shù)據(jù)備份成一個擴(kuò)展名為.sql的文本文件,此文件可以用于數(shù)據(jù)庫的恢復(fù)。
(1)備份數(shù)據(jù)庫
用于進(jìn)行數(shù)據(jù)備份的命令是mysqldump命令。這個命令存儲于mariaDB目錄的bin目錄中。mysqldump命令格式如下:例如:備份couman數(shù)據(jù)庫,到root用戶的家目錄,備份名為couman.sql。操作如下:11.3.3管理MaraisDB
(2)恢復(fù)數(shù)據(jù)庫
恢復(fù)數(shù)據(jù)庫的命令格式如下:
輸入命令后,根據(jù)提示輸入相應(yīng)密碼就可以完成數(shù)據(jù)庫的恢復(fù)。需要注意,在恢復(fù)數(shù)據(jù)庫之前首先要刪除已有數(shù)據(jù)庫,然后再次創(chuàng)建數(shù)據(jù)庫,最后再恢復(fù)。11.3.3管理MaraisDB6.重置MariaDB數(shù)據(jù)庫管理員root密碼
在工作學(xué)習(xí)過程中,很多人在初始設(shè)置之后會較長時間不再使用MariaDB數(shù)據(jù)庫,從而導(dǎo)致數(shù)據(jù)庫管理員密碼遺忘,這時候就需要通過重置密碼來登錄數(shù)據(jù)庫。不同版本的MariaDB數(shù)據(jù)庫在進(jìn)行密碼重置時方法略有差異,下面介紹的方法適用于10.1.20-MariaDB及更高版本。這里我們以10.5.16-MariaDB版本為例,具體的操作過程如下:(1)確認(rèn)數(shù)據(jù)庫版本號。(2)停止數(shù)據(jù)庫11.3.3管理MaraisDB(3)在沒有權(quán)限檢查的情況下重新啟動數(shù)據(jù)庫服務(wù)器。如果在不加載有關(guān)用戶權(quán)限的信息的情況下運(yùn)行MariaDB,則可以使用root權(quán)限訪問數(shù)據(jù)庫命令行而無需提供密碼。為此,我們需要停止數(shù)據(jù)庫加載授權(quán)表,該表存儲用戶權(quán)限信息。因?yàn)檫@個操作有安全風(fēng)險(xiǎn),所以我們還要跳過網(wǎng)絡(luò)以防止其他客戶端連接。11.3.3管理MaraisDB(4)更改數(shù)據(jù)庫管理員root密碼。11.3.3管理MaraisDB(5)重啟并登錄數(shù)據(jù)庫服務(wù)器。05任務(wù)11-4安裝配置PHP環(huán)境任務(wù)11-4安裝配置PHP環(huán)境任務(wù)目標(biāo)11.4.1安裝PHP環(huán)境11.4.2配置php-fpm服務(wù)11.4.3配置Nginx服務(wù)器對PHP程序的支持任務(wù)目標(biāo)Nginx服務(wù)器本身無法處理PHP程序,因此需要與php-fpm服務(wù)配合來解析PHP程序。為了完成LNMP平臺的搭建,小陳需要進(jìn)一步學(xué)習(xí)如何配置PHP環(huán)境以完成LNMP平臺的部署。
因此,小陳制定如下的任務(wù)目標(biāo):配置EPEL擴(kuò)展源。正確安裝php-fpm軟件。正確架設(shè)LNMP平臺。11.4.1安裝PHP環(huán)境php-fpm是用于解析PHP程序的fastCGI接口管理程序,提供了Nginx服務(wù)器和PHP語言交互的接口。php-fpm是配置php-fpm服務(wù)的軟件包,它作為PHP環(huán)境擴(kuò)展模塊進(jìn)行安裝。在某些版本的Linux系統(tǒng)中默認(rèn)沒有提供php-fpm包,建議在系統(tǒng)中安裝EPEL源。如果安裝過程中EPEL源中沒有我們需要的軟件包,則可以考慮安裝Remi源。
1.配置EPEL源2.安裝php-fpm軟件(1)安裝php-fpm軟件使用dnf命令安裝php、php-mysqlnd、php-fpm軟件包。其中:php-mysqlnd是PHP的擴(kuò)展模塊,可以是PHP程序連接MySQL。php-fpm用來并發(fā)處理所有的PHP動態(tài)請求。11.4.1安裝PHP環(huán)境(2)啟動php-fpm服務(wù),將其置為開機(jī)自啟并檢查運(yùn)行狀態(tài)(3)查看PHP版本號11.4.2配置php-fpm服務(wù)1.主配置文件
php-fpm的主配置文件為/etc/php-fpm.conf,主要包含php-fpm的全局配置,一般不需要修改。
在php-fpm的配置文件中,以分號“;”開頭的行是注釋行。下面為了方便介紹php-fpm配置文件中的代碼,我們過濾了文件中原有的注釋行。
查看/etc/php-fom.conf文件中有效的配置(過濾掉分號“;”開頭的注釋行)內(nèi)空如下:11.4.2配置php-fpm服務(wù)2.進(jìn)程池配置文件php-fpm作為一個獨(dú)立的服務(wù)運(yùn)行,在php-fpm的進(jìn)程池中運(yùn)行多個子進(jìn)程,用來并發(fā)處理所有的PHP動態(tài)請求。Nginx服務(wù)器接收到PHHP動態(tài)請求時,會轉(zhuǎn)發(fā)給php-fpm,php-fpm服務(wù)調(diào)用進(jìn)程池中的子進(jìn)程來處理動態(tài)請求。如果進(jìn)程池中的資源耗盡,會導(dǎo)致請求無法處理。php-fpm進(jìn)程池的配置文件存放在/etc/php-fpm.d/目錄中,配置文件名一般以“.conf”作為后綴。php-fpm默認(rèn)只配置了一個進(jìn)程池,其配置文件是/etc/php-fpm.d/www.conf。查看到/etc/php-fpm.d/www.conf文件中有效的配置內(nèi)容如下。11.4.2配置php-fpm服務(wù)11.4.3配置Nginx服務(wù)器對PHP程序的支持Nginx服務(wù)器本身只是一個靜態(tài)Web文件服務(wù)器,無法處理PHP程序。通過配置Nginx服務(wù)器以支持PHP,當(dāng)Nginx服務(wù)器接收到客戶端的PHP請求時,它會將請求發(fā)送給后端的php-fpm進(jìn)行處理,然后接收php-fpm返回的處理結(jié)果,并將結(jié)果返回給客戶端。這樣實(shí)現(xiàn)了Nginx對PHP程序的支持。11.4.3配置Nginx服務(wù)器對PHP程序的支持1.配置Nginx服務(wù)器的虛擬主機(jī)以默認(rèn)的虛擬主機(jī)為例,配置Nginx服務(wù)器支持PHP程序,步驟如下。(1)使用nano編輯器打開/etc/nginx/conf.d/default.conf文件。
(2)配置location/{}塊。在index參數(shù)的最前面位置增加“index.php",設(shè)置網(wǎng)站的首頁為index.php。(3)刪除location~\.php${}塊前的“#”注釋符。(4)配置location~\.php${}塊。修改網(wǎng)站的根目錄,將root參數(shù)值改為/usr/share/nginx/html。將參數(shù)SCRIPTFILENAME值更改為$document_root$fastcgi_script_name。(5)保存配置文件。11.4.3配置Nginx服務(wù)器對PHP程序的支持(5)保存配置文件。修改完畢的/etc/nginx/conf.d/default.cond文件內(nèi)容如下。11.4.3配置Nginx服務(wù)器對PHP程序的支持2.檢查生效的Nginx和php-fpm(1)檢查配置文件/etc/nginx/nginx.conf的語法正確性(2)重新Nginx配置說明:執(zhí)行“nginx-sreload”命令與“systemctlrestartnginx”命令都可以更新Nginx配置,它們的區(qū)別如下:執(zhí)行“nginx-sreload”命令表示向Nginx發(fā)送reload(重新加載)信號,可以實(shí)現(xiàn)不停服務(wù),平滑地更新Nginx配置文件。執(zhí)行“systemctlrestartnginx”命令會重啟Nginx,造成服務(wù)中斷,不適合生產(chǎn)環(huán)境。11.4.3配置Nginx服務(wù)器對PHP程序的支持(3)檢查配置文件/etc/php-fpm.conf語法正確性(4)重新載入php-fpm服務(wù)11.4.3配置Nginx服務(wù)器對PHP程序的支持3.測試LNMP服務(wù)器
在LNMP服務(wù)器上創(chuàng)建PHP測試頁文件phpinfo.php,保存到網(wǎng)站的根目錄/usr/share/nginx/html中,phpinfo.php的內(nèi)容如下:之后在本地物理機(jī)打開瀏覽器。在地址欄輸入00/phpinfo.php。返回結(jié)果如圖11.7所示,表示LNMP環(huán)境部署成功。(建議測試完成之后刪除phpinfo.php文件)
圖11.7PHP測試頁06任務(wù)11-5部署基于LNMP的WordPress博客網(wǎng)站任務(wù)11-5部署基于LNMP的WordPress博客網(wǎng)站任務(wù)目標(biāo)11.5.1安裝WordPress
11.5.2為WordPress創(chuàng)建MaraiaDB數(shù)據(jù)庫環(huán)境11.5.3配置WordPress
11.5.4配置Nginx虛擬主機(jī)11.5.5通過Web界面完成WordPress配置
任務(wù)目標(biāo)
通過之前的學(xué)習(xí),小陳成功地部署了LNMP平臺,離自己的目標(biāo)也越來越近了。下一步的工作是在LNMP平臺上部署自己的個人網(wǎng)站。WordPress是一款使用PHP語言和MySQL數(shù)據(jù)庫開發(fā)的免費(fèi)個人博客網(wǎng)站系統(tǒng),用戶可以在WordPress中文網(wǎng)站獲取WordPress網(wǎng)站的安裝包,然后在LNMP服務(wù)器上搭建自己的博客網(wǎng)站。接下來,小陳計(jì)劃在單節(jié)點(diǎn)LNMP服務(wù)器上部署WordPress網(wǎng)站。
因此,小陳制定如下的任務(wù)目標(biāo):獲取WordPress程序代碼。在LNMP平臺安裝WordPress。完成參數(shù)配置。11.5.1安裝WordPressWordPress是一種開源的內(nèi)容管理系統(tǒng)(CMS),用于創(chuàng)建和管理網(wǎng)站和博客。它基于PHP語言和MySQL數(shù)據(jù)庫,提供了豐富的功能和插件,可以輕松創(chuàng)建各種類型的網(wǎng)站,如個人博客、商業(yè)網(wǎng)站、新聞門戶等。WordPress具有易用性、靈活性和可擴(kuò)展性等特點(diǎn),用戶可以通過安裝不同的主題和插件,來定制自己的網(wǎng)站風(fēng)格和功能。WordPress是目前最流行的CMS之一,被廣泛應(yīng)用于全球各地的網(wǎng)站建設(shè)。圖11.8WordPress圖標(biāo)11.5.1安裝WordPress1.下載WordPress至網(wǎng)站根目錄并解壓
注意:這時候WordPress的目錄是/usr/share/nginx/html/WordPress。這個目錄就是WordPress網(wǎng)站的根目錄,后面配置其他參數(shù)時會用到。當(dāng)然你也可以使用其他目錄。11.5.1安裝WordPress2.創(chuàng)建上傳目錄Wordpress使用過程中需要上傳圖片和附件。因此,這里我們要創(chuàng)建一個專用的上傳目錄。3.修改網(wǎng)絡(luò)根目錄權(quán)限
將網(wǎng)站根目錄的權(quán)限用戶更新為Nginx對應(yīng)的用戶,解決WordPress更新版本、上傳主題或安裝插件時,提示需要FTP登錄憑證或無法創(chuàng)建目錄問題。
11.5.2為WordPress創(chuàng)建MaraiaDB環(huán)境
使用root賬戶登錄MariaDB數(shù)據(jù)庫,創(chuàng)建WordPress數(shù)據(jù)庫,然后創(chuàng)建wp用戶(密碼為KUt*&3421),并授予wp用戶對WordPress數(shù)據(jù)庫的所有權(quán)限。
注意:生產(chǎn)環(huán)境下一定要注意密碼的強(qiáng)度,弱密碼很容易被攻破,會產(chǎn)生極大的安全隱患。11.5.3配置WordPress
將工作目錄切換到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨合同范例文庫
- 全屋定制家具合同范本封面
- 2025年度智慧社區(qū)物業(yè)服務(wù)合同終止模板
- 光伏抵押合同范例
- 冷凝設(shè)備銷售合同范例
- 產(chǎn)品服務(wù)代理 合同范本
- office格式合同范例
- 會展物料合同范本
- 產(chǎn)權(quán)分割商鋪銷售合同范本
- 2025年度教育節(jié)目制作與版權(quán)轉(zhuǎn)讓合同
- 小學(xué)生作文方格紙A4紙直接打印版
- 木質(zhì)包裝材料行業(yè)報(bào)告
- 孤獨(dú)癥康復(fù)教育上崗人員考試必備題庫(含答案)
- 中國通史(明朝)
- 《醫(yī)療器械監(jiān)督管理?xiàng)l例》培訓(xùn)試題
- 老人心理特征和溝通技巧
- TMS開發(fā)業(yè)務(wù)需求文檔
- 關(guān)于公交隊(duì)長述職的報(bào)告
- GB/T 11379-2008金屬覆蓋層工程用鉻電鍍層
- 移出經(jīng)營異常名錄申請表
- 2023年延長石油集團(tuán)企業(yè)文化知識試題
評論
0/150
提交評論