版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Linux操作系統(tǒng)項(xiàng)目式教程目錄CONTENTS項(xiàng)目1初識(shí)Linux操作系統(tǒng)項(xiàng)目2Linux操作系統(tǒng)基礎(chǔ)項(xiàng)目3用戶組群和權(quán)限管理項(xiàng)目項(xiàng)目4配置和管理磁盤(pán)項(xiàng)目5安裝軟件項(xiàng)目6編寫(xiě)Shell腳本統(tǒng)項(xiàng)目7配置和管理網(wǎng)絡(luò)系統(tǒng)項(xiàng)目8配置和管理Linux服務(wù)項(xiàng)目8配置和管理Linux服務(wù)任務(wù)1配置和管理Apache服務(wù)器任務(wù)2配置和管理Nginx服務(wù)器任務(wù)3配置和管理MariaDB服務(wù)器任務(wù)4搭建單機(jī)動(dòng)態(tài)Web應(yīng)用8.1.1Apache服務(wù)器概述ApacheHTTPServer(簡(jiǎn)稱(chēng)Apache)是Apache軟件基金會(huì)的一個(gè)開(kāi)放源碼的網(wǎng)頁(yè)服務(wù)器,是目前世界上使用最廣泛的一種Webserver。它以跨平臺(tái)、高效和穩(wěn)定而聞名,可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上。Apache的特點(diǎn)是簡(jiǎn)單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來(lái)使用。Apache是用C語(yǔ)言開(kāi)發(fā)的基于模塊化設(shè)計(jì)的web應(yīng)用,總體上看起來(lái)代碼的可讀性高于PHP代碼,它的核心代碼并不多,大多數(shù)的功能都被分割到各種模塊中,各個(gè)模塊在系統(tǒng)啟動(dòng)時(shí)按需載入。Apache支持SSL技術(shù),支持多個(gè)虛擬主機(jī)。Apache是以進(jìn)程的Prefork模式(還有基于線程的Worker模式)為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開(kāi)支,不太適合于多處理器環(huán)境,因此,在一個(gè)ApacheWeb站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。8.1.2安裝并設(shè)置Apache服務(wù)器1.安裝Apache服務(wù)器[root@localhost~]#yuminstallhttpd-y已安裝:httpd.x86_640:2.4.6-98.el7.centos.6
作為依賴(lài)被安裝:apr.x86_640:1.4.8-7.el7apr-util.x86_640:1.5.2-6.el7httpd-tools.x86_640:2.4.6-98.el7.centos.6mailcap.noarch0:2.1.41-2.el7
完畢!Apache服務(wù)器需要安裝的軟件是httpd。2.設(shè)置防火墻和selinux[root@localhost~]#setenforce0[root@localhost~]#firewall-cmd--add-service=http--permanent//永久放行http[root@localhost~]#firewall-cmd--reload[root@localhost~]#firewall-cmd--list-servicessshdhcpv6-clientsambaftpnfsdhcphttpApache服務(wù)器使用的是http協(xié)議,防火墻需要放行http就可以了。8.1.3配置默認(rèn)網(wǎng)站目錄1.啟動(dòng)服務(wù)[root@localhost~]#systemctlstarthttpd啟動(dòng)服務(wù)后,使用瀏覽器輸入http://服務(wù)器的IP地址并按Enter鍵,就可以訪問(wèn)Apache服務(wù)器的默認(rèn)主頁(yè)了,如圖8-1所示。圖8-1Apache服務(wù)器默認(rèn)主頁(yè)2.測(cè)試自己制作網(wǎng)頁(yè)Apache的配置文件在/etc/httpd/conf文件夾下,配置文件名稱(chēng)是httpd.conf,打開(kāi)配置文件后,觀察119行[root@localhost~]#cd/etc/httpd/conf[root@localhostconf]#lshttpd.confmagic[root@localhostconf]#vihttpd.conf119DocumentRoot"/var/www/html"提示網(wǎng)站根目錄是/var/www/html,將自己制作的網(wǎng)站上傳到這個(gè)目錄下,就可以進(jìn)行訪問(wèn)了,可以在這個(gè)目錄下制作一個(gè)簡(jiǎn)單頁(yè)面,進(jìn)行訪問(wèn)。[root@localhostconf]#echoHelloLinux>/var/www/html/index.html在/var/www/html下,制作主頁(yè)index.html,寫(xiě)入內(nèi)容“HelloLinux”,如圖8-2所示。圖8-2瀏覽自己制作的網(wǎng)頁(yè)8.1.3配置默認(rèn)網(wǎng)站目錄3.修改默認(rèn)網(wǎng)站目錄Apache的默認(rèn)網(wǎng)站目錄是/var/www/html,因?yàn)槭悄J(rèn)的,所以通常不夠安全,可以通過(guò)修改配置文件的方法修改默認(rèn)網(wǎng)站目錄。[root@localhost~]#mkdir
–p/home/www[root@localhost~]#echoThisismyfirstApachewebsite>/home/www/myweb.html首先在/home/目錄下創(chuàng)建www文件夾,在www文件夾中創(chuàng)建myweb.html,寫(xiě)入內(nèi)容ThisismyfirstApachewebsite。[root@localhost~]#setenforce0[root@localhost~]#vihttpd.conf……119DocumentRoot"/home/www"http://修改文檔根目錄124<Directory"/home/www">//網(wǎng)站數(shù)據(jù)目錄的權(quán)限AllowOverrideNoneRequireallgranted</Directory>131<Directory"/home/www">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory><IfModuledir_module>164DirectoryIndexmyweb.html//修改默認(rèn)主頁(yè)</IfModule>……[root@localhostconf]#systemctlreloadhttpd8.1.3配置默認(rèn)網(wǎng)站目錄然后取消selinux,打開(kāi)httpd.conf配置文件,將119行、124行、131行中的目錄位置修改為/home/www;將164行的默認(rèn)主頁(yè)名稱(chēng)修改為myweb.html,保存配置。重啟服務(wù),再使用瀏覽器訪問(wèn),就可以訪問(wèn)/home/www目錄下的網(wǎng)頁(yè)了,如圖8-3所示。
圖8-3修改默認(rèn)網(wǎng)站目錄需要說(shuō)明的是119行,定義的就是網(wǎng)站的根目錄,131定義的是這個(gè)目錄的訪問(wèn)權(quán)限,一般設(shè)置為<Directory"/home/www">
OptionsIndexesFollowSymLinks//該目錄沒(méi)有index頁(yè)面時(shí),顯示目錄本身AllowOverrideNone//忽略.htaccess文件
Requireallgranted//授權(quán)所有主機(jī)可以訪問(wèn)</Directory>8.1.4配置虛擬主機(jī)在一臺(tái)Apache服務(wù)器上通常需要運(yùn)行多個(gè)網(wǎng)站,這就需要配置服務(wù),實(shí)現(xiàn)需求。在用戶端看,每個(gè)網(wǎng)站都是一個(gè)主機(jī),但實(shí)際上,這些網(wǎng)站都是在一臺(tái)服務(wù)器上的,所以叫虛擬主機(jī)。Apache虛擬主機(jī)的配置方法通常有三種,分別是基于IP的、基于域名的、基于端口的?;贗P和端口的通常使用在局域網(wǎng)中,基于域名的通常使用在Internet上。1.基于IP地址的虛擬主機(jī)(1)給服務(wù)器配置多個(gè)IP地址[root@localhost~]#ipaddradd01devens33[root@localhost~]#ipaddr1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet/8scopehostlovalid_lftforeverpreferred_lftforeverinet6::1/128scopehostvalid_lftforeverpreferred_lftforever2:ens33:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPgroupdefaultqlen1000link/ether00:0c:29:16:b4:83brdff:ff:ff:ff:ff:ffinet00/24brd55scopeglobalens33valid_lftforeverpreferred_lftforeverinet01/32scopeglobalens33valid_lftforeverpreferred_lftforeverinet6fe80::20c:29ff:fe16:b483/64scopelinkvalid_lftforeverpreferred_lftforever8.1.4配置虛擬主機(jī)(2)創(chuàng)建web1和web2目錄,建立主頁(yè)文件[root@localhost~]#mkdir-p/home/www/web1[root@localhost~]#mkdir-p/home/www/web2[root@localhost~]#echoThisismyweb1>/home/www/web1/index.html[root@localhost~]#echoThisismyweb2>/home/www/web2/index.html(3)配置基于IP地址的虛擬主機(jī)設(shè)置/的訪問(wèn)權(quán)限時(shí)granted,打開(kāi)/etc/httpd/conf下的httpd.conf文件,第將104行設(shè)置成Requireallgranted。102<Directory/>103AllowOverridenone104Requireallgranted105</Directory>在文件的最后加上如下代碼:<Virtualhost00:80>ServerName00
DocumentRoot/home/www/web1</Virtualhost><Virtualhost01:80>
ServerName01
DocumentRoot/home/www/web2</Virtualhost>重新啟動(dòng)httpd服務(wù)。[root@localhostconf.d]#systemctlrestarthttpd8.1.4配置虛擬主機(jī)(4)測(cè)試配置啟動(dòng)瀏覽器,輸入00可以訪問(wèn)/home/www/web1的index.html,如圖8-4所示。
圖8-4訪問(wèn)web1的index.html輸入01可以訪問(wèn)/home/www/web2的index.html,如圖8-5所示。
圖8-5訪問(wèn)web2的index.html8.1.4配置虛擬主機(jī)2.基于端口的虛擬主機(jī)使用同一個(gè)IP地址,但配置不同的端口號(hào),同樣可以實(shí)現(xiàn)在一個(gè)Apache服務(wù)器上發(fā)布多個(gè)網(wǎng)站。(1)創(chuàng)建web1和web2目錄,建立主頁(yè)文件[root@localhost~]#mkdir-p/home/www/web1[root@localhost~]#mkdir-p/home/www/web2[root@localhost~]#echoThisismyweb1>/home/www/web1/index.html[root@localhost~]#echoThisismyweb2>/home/www/web2/index.html(2)配置基于端口的虛擬主機(jī)將監(jiān)聽(tīng)的8000和8080端口加入到主配置文件中。打開(kāi)/etc/httpd/conf/httpd.conf,在42行后加入以下兩行。43Listen800044Listen8080在文件最后加上如下配置。<Virtualhost00:8000>ServerName00DocumentRoot/home/www/web1</Virtualhost><Virtualhost00:8080>ServerName00DocumentRoot/home/www/web2</Virtualhost>重新啟動(dòng)httpd服務(wù)。[root@localhostconf.d]#systemctlrestarthttpd8.1.4配置虛擬主機(jī)(3)測(cè)試配置啟動(dòng)瀏覽器,輸入00:8000可以訪問(wèn)/home/www/web1的index.html,如圖8-6所示。
圖8-6訪問(wèn)8000端口輸入01:8080可以訪問(wèn)/home/www/web2的index.html,如圖8-7所示。
圖8-7訪問(wèn)8080端口8.1.4配置虛擬主機(jī)3.基于域名的虛擬主機(jī)使用同一個(gè)IP地址,但配置不同的域名,同樣可以在一個(gè)Apache服務(wù)器上發(fā)布多個(gè)網(wǎng)站,實(shí)現(xiàn)使用不同的域名訪問(wèn)多個(gè)網(wǎng)站的功能。(1)配置name.conf首先在conf.d目錄中創(chuàng)建name.conf配置文件,添加如下配置。
<VirtualHost*:80>//監(jiān)控服務(wù)器任意IP的80端口
ServerName//配置此網(wǎng)站的域名為
DocumentRoot"/home/www/web1"http://虛擬主機(jī)網(wǎng)站目錄</VirtualHost><VirtualHost*:80>//監(jiān)控服務(wù)器任意IP的80端口
ServerName//配置此網(wǎng)站的域名為
DocumentRoot"/home/www/web2"http://虛擬主機(jī)網(wǎng)站目錄</VirtualHost>8.1.4配置虛擬主機(jī)(2)配置windows的hosts文件hosts文件時(shí)windows上提供IP地址和名稱(chēng)解析的文件,修改這個(gè)文件,可以實(shí)現(xiàn)名稱(chēng)和IP地址的對(duì)應(yīng)關(guān)系,它的位置在C:\Windows\System32\drivers\etc,打開(kāi)這個(gè)文件,在末尾處填入00//對(duì)應(yīng)0000//對(duì)應(yīng)00如果在當(dāng)前目錄下不可以修改,可以把這個(gè)文件,拷貝到桌面,修改完成后再?gòu)?fù)制到這個(gè)目錄就可以了。(3)驗(yàn)證配置啟動(dòng)瀏覽器,輸入可以瀏覽/web1/index.html,如圖8-8所示。圖8-8訪問(wèn)myweb1輸入可以瀏覽/web2/index.html,如圖8-9所示。
圖8-9訪問(wèn)myweb28.1.5配置訪問(wèn)控制1.控制網(wǎng)絡(luò)上的主機(jī)通過(guò)Require選項(xiàng)配置,可以控制網(wǎng)絡(luò)中主機(jī)能否訪問(wèn)該網(wǎng)站,Require的語(yǔ)法如下。Requireallgranted
//允許所有IP訪問(wèn)Requirealldenied
//拒絕所有IP訪問(wèn)Requireipip地址
//允許某些IP訪問(wèn)Requirenotipip地址
//拒絕某些IP訪問(wèn)IP地址的書(shū)寫(xiě)方式也有幾種,可以不加區(qū)分的寫(xiě)在同一行,中間用空格分開(kāi)。單個(gè)IP地址//00..網(wǎng)絡(luò)加掩碼
///網(wǎng)絡(luò)加掩碼長(zhǎng)度
///24網(wǎng)絡(luò)
//例如,讓除了/24網(wǎng)段用戶的所有用戶都可以訪問(wèn)/web網(wǎng)站<Directory"/web"><RequireAll>RequireallgrantedRequirenotip/24</RequireAll></Directory>8.1.5配置訪問(wèn)控制2.允許指定用戶訪問(wèn)有些需要控制訪問(wèn)網(wǎng)站的用戶,方法是建立訪問(wèn)網(wǎng)站的用戶數(shù)據(jù)庫(kù)文件,再修改配置文件。(1)建立用戶訪問(wèn)數(shù)據(jù)庫(kù)[root@localhost~]#useraddwebuser//添加linux用戶webuser[root@localhost~]#htpasswd-c/pwdwebuser//創(chuàng)建pwd文件,加入webuserNewpassword://輸入webuser的密碼Re-typenewpassword://確認(rèn)密碼Addingpasswordforuserwebuser[root@localhost~]#cat/pwd//查看用戶數(shù)據(jù)庫(kù)文件webuser:$apr1$nwh64HF5$HdsWOYG0sLWQcCbg7mdog/(2)配置用戶訪問(wèn)在相應(yīng)的配置文件中添加認(rèn)證配置,這里以name.conf中域名訪問(wèn)網(wǎng)站為例,在原來(lái)配置的基礎(chǔ)上添加<Directory"/home/www/web1"></Directory>之間的配置<VirtualHost*:80>ServerNameDocumentRoot
"/home/www/web1"<Directory"/home/www/web1">
authname"myweb1"http://認(rèn)證提示名稱(chēng)
authtypebasic//認(rèn)證類(lèi)型為基礎(chǔ)認(rèn)證
authuserfile/pwd//認(rèn)證文件
requirevalid-user//要求有效的用戶</Directory></VirtualHost>8.1.5配置訪問(wèn)控制(3)驗(yàn)證配置啟動(dòng)瀏覽器,輸入,系統(tǒng)提示需要輸入用戶名和密碼,如圖8-10所示,輸入用戶數(shù)據(jù)庫(kù)中的webuser和密碼就可以訪問(wèn)了。
圖8-10提示輸入用戶和密碼本任務(wù)注意點(diǎn)(1)
配置基于端口的虛擬主機(jī)時(shí),要在主配置文件中監(jiān)控相應(yīng)的端口,防火墻放行相關(guān)端口。(2)
基于域名的虛擬主機(jī)一般應(yīng)用于internet,基于端口的虛擬主機(jī)一般應(yīng)用于局域網(wǎng)。任務(wù)拓展訓(xùn)練(1)
啟動(dòng)兩臺(tái)linux主機(jī),配置名稱(chēng)為server和client。(2)
在server上安裝apache服務(wù),網(wǎng)站默認(rèn)訪問(wèn)目錄是/data。(3)
在server上配置基于端口的虛擬主機(jī),端口分別是8080和8081,目錄在/data下,分別是/data/web1和/data/web2。首頁(yè)文件都是index.html,內(nèi)容分別是hellodata1、hellodata2。(4)
在開(kāi)放8080端口的虛擬主機(jī)上做訪問(wèn)控制,限制client端不可以訪問(wèn)。(5)
在物理機(jī)和client上驗(yàn)證配置,其中物理機(jī)可以訪問(wèn)默認(rèn)網(wǎng)站和基于端口的2臺(tái)虛擬主機(jī),但client端不可以訪問(wèn)開(kāi)放8080的虛擬主機(jī)。補(bǔ)充知識(shí)Apache簡(jiǎn)介
Apache(音譯為阿帕奇)是世界使用排名第一的Web服務(wù)器軟件。Apache起初由伊利諾伊大學(xué)香檳分校的國(guó)家超級(jí)電腦應(yīng)用中心開(kāi)發(fā)。此后,Apache被開(kāi)放源代碼團(tuán)體的成員不斷的發(fā)展和加強(qiáng),Apache服務(wù)器擁有牢靠可信的美譽(yù),它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過(guò)簡(jiǎn)單的API擴(kuò)充,將Perl/Python等解釋器編譯到服務(wù)器中。
隨著互聯(lián)網(wǎng)的不斷發(fā)展和普及,Web服務(wù)早已經(jīng)成為人們?nèi)粘I詈蛯W(xué)習(xí)的必不可少的組成部分,只要在瀏覽器的地址欄中輸入一個(gè)網(wǎng)址,就能進(jìn)入網(wǎng)絡(luò)世界,獲得幾乎所有想要的資源,Web服務(wù)已經(jīng)成為人們工作、學(xué)習(xí)、娛樂(lè)和社交等活動(dòng)的重要工具,對(duì)于絕大多數(shù)的普通用戶而言,萬(wàn)維網(wǎng)(WorldWideWeb,WWW)幾乎就是Web服務(wù)的代名詞。Web服務(wù)提供的資源多種多樣,可能是簡(jiǎn)單的文本,也可能是圖片、音頻和視頻等多媒體數(shù)據(jù)。如今隨著移動(dòng)網(wǎng)絡(luò)的迅猛發(fā)展,智能手機(jī)逐漸成為人們?cè)L問(wèn)Web服務(wù)的入口,不管是瀏覽器還是智能手機(jī),Web服務(wù)的基本原理都是相同的。補(bǔ)充知識(shí)1.Web服務(wù)的工作原理WWW是Internet上被廣泛應(yīng)用的一種信息服務(wù)技術(shù),WWW采用的是客戶/服務(wù)器結(jié)構(gòu),整理和儲(chǔ)存各種WWW資源,并響應(yīng)客戶端軟件的請(qǐng)求,把所需要的信息資源通過(guò)瀏覽器傳送給用戶。Web服務(wù)通常可以分為兩種:靜態(tài)Web服務(wù)和動(dòng)態(tài)服務(wù)。Web服務(wù)也是采用典型的客戶機(jī)/服務(wù)器模式,Web服務(wù)運(yùn)行于TCP之上,每個(gè)網(wǎng)站都對(duì)應(yīng)一臺(tái)(或多臺(tái))Web服務(wù),服務(wù)器中有各種資源,客戶端就是用戶面前的瀏覽器,Web服務(wù)的工作原理并不復(fù)雜,一般可分為4個(gè)步驟,即連接過(guò)程、請(qǐng)求過(guò)程、應(yīng)答過(guò)程及關(guān)閉連接。連接過(guò)程:就是瀏覽器和Web服務(wù)器之間建立TCP連接的過(guò)程。請(qǐng)求過(guò)程:就是瀏覽器向Web服務(wù)器發(fā)出資源查詢(xún)請(qǐng)求,在瀏覽器中輸入的URL表示資源在Web服務(wù)器中的具體位置。應(yīng)該答過(guò)程:就是Web服務(wù)器根據(jù)URL把相應(yīng)的資源返回給瀏覽器,瀏覽器則以網(wǎng)頁(yè)的形式把資源展示給用戶。關(guān)閉連接:就是在應(yīng)答過(guò)程完成之后,瀏覽器和Web服務(wù)器之間斷開(kāi)連接的過(guò)程。瀏覽器和Web服務(wù)器之間的一次交互也被稱(chēng)為一次“會(huì)話”。補(bǔ)充知識(shí)2.超文本傳輸協(xié)議(HyperTextTransferProtocol,HTTP)HTTP可以算得上是目前國(guó)際互聯(lián)網(wǎng)基礎(chǔ)上的一個(gè)重要組成部分,而Apache、IIS服務(wù)器是HTTP協(xié)議的服務(wù)器軟件,微軟的InternetExplorer和Mozilla的Firefox則是HTTP協(xié)議的客戶端實(shí)現(xiàn)。Apacheweb服務(wù)器軟件擁有以下特性:l支持最新的HTTP/1.1通信協(xié)議l擁有簡(jiǎn)單而強(qiáng)有力的基于文件的配置過(guò)程l支持通用網(wǎng)關(guān)接口l支持基于IP和基于域名的虛擬主機(jī)l支持多種方式的HTTP認(rèn)證l集成Perl處理模塊l集成代理服務(wù)器模塊l支持實(shí)時(shí)監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志l支持服務(wù)器端包含指令(SSI)l支持安全Socket層(SSL)l提供用戶會(huì)話過(guò)程的跟蹤l支持FastCGIl通過(guò)第三方模塊可以支持JavaServlets8.2.1Nginx服務(wù)器概述1.Nginx簡(jiǎn)介
Nginx是一個(gè)HTTP服務(wù)器,是一個(gè)使用C語(yǔ)言開(kāi)發(fā)的高性能的HTTP服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3/SMTP)代理服務(wù)器。由俄羅斯的程序設(shè)計(jì)師IgorSysoev開(kāi)發(fā),官方測(cè)試nginx能夠支支撐5萬(wàn)并發(fā)鏈接,并且cpu、內(nèi)存等資源消耗卻非常低,運(yùn)行非常穩(wěn)定,特別適合搭建大量靜態(tài)資源的并發(fā)訪問(wèn)服務(wù)。2.Nginx應(yīng)用場(chǎng)景l(fā)http服務(wù)器Nginx是一個(gè)http服務(wù)可以獨(dú)立提供http服務(wù),可以做網(wǎng)頁(yè)靜態(tài)服務(wù)器。l虛擬主機(jī)可以實(shí)現(xiàn)在一臺(tái)服務(wù)器虛擬出多個(gè)網(wǎng)站,和Apache的虛擬主機(jī)功能相同。l反向代理反向代理應(yīng)該是Nginx做的最多的服務(wù),反向代理(ReverseProxy)是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器,簡(jiǎn)單來(lái)說(shuō)就是真實(shí)的服務(wù)器不能直接被外部網(wǎng)絡(luò)訪問(wèn),所以需要一臺(tái)代理服務(wù)器,而代理服務(wù)器能被外部網(wǎng)絡(luò)訪問(wèn)的同時(shí)又跟真實(shí)服務(wù)器在同一個(gè)網(wǎng)絡(luò)環(huán)境,當(dāng)然也可能是同一臺(tái)服務(wù)器,端口不同而已。l負(fù)載均衡當(dāng)網(wǎng)站的訪問(wèn)量達(dá)到一定程度后,單臺(tái)服務(wù)器不能滿足用戶的請(qǐng)求時(shí),需要用多臺(tái)服務(wù)器集群,使用多臺(tái)服務(wù)器可以平均分擔(dān)負(fù)載,不會(huì)因?yàn)槟撑_(tái)服務(wù)器負(fù)載高宕機(jī)而某臺(tái)服務(wù)器閑置的情況,負(fù)載均衡配置一般都需要同時(shí)配置反向代理,通過(guò)反向代理跳轉(zhuǎn)到負(fù)載均衡。8.2.1Nginx服務(wù)器概述3.Nginx優(yōu)勢(shì)l作為Web服務(wù)器,Nginx處理靜態(tài)文件、索引文件,自動(dòng)索引的效率非常高。l作為代理服務(wù)器,Nginx可以實(shí)現(xiàn)無(wú)緩存的反向代理加速,提高網(wǎng)站運(yùn)行速度。l作為負(fù)載均衡服務(wù)器,Nginx既可以在內(nèi)部直接支持Rails和PHP,也可以支持HTTP代理服務(wù)器對(duì)外進(jìn)行服務(wù),同時(shí)還支持簡(jiǎn)單的容錯(cuò)和利用算法進(jìn)行負(fù)載均衡。l在性能方面,Nginx是專(zhuān)門(mén)為性能優(yōu)化而開(kāi)發(fā)的,實(shí)現(xiàn)上非常注重效率。它采用內(nèi)核Poll模型,可以支持更多的并發(fā)連接,最大可以支持對(duì)5萬(wàn)個(gè)并發(fā)連接數(shù)的響應(yīng),而且只占用很低的內(nèi)存資源。l在穩(wěn)定性方面,Nginx采取了分階段資源分配技術(shù),使得CPU與內(nèi)存的占用率非常低。Nginx官方表示,Nginx保持1萬(wàn)個(gè)沒(méi)有活動(dòng)的連接只占用2.5MB內(nèi)存,因此,類(lèi)似DOS這樣的攻擊對(duì)Nginx來(lái)說(shuō)基本上是沒(méi)有任何作用的。l在高可用性方面,Nginx支持熱部署,啟動(dòng)速度特別迅速,因此可以在不間斷服務(wù)的情況下,對(duì)軟件版本或者配置進(jìn)行升級(jí),即使運(yùn)行數(shù)月也無(wú)需重新啟動(dòng),幾乎可以做到7x24小時(shí)不間斷地運(yùn)行。8.2.2安裝并運(yùn)行Nginx服務(wù)1.配置網(wǎng)絡(luò)yum源登錄阿里云的鏡像站地址/mirror/,點(diǎn)擊Centos圖標(biāo),如圖8-11所示。
圖8-11基礎(chǔ)源圖標(biāo)進(jìn)入之后,找到CentOS7基礎(chǔ)源配置。wget-O/etc/yum.repos.d/CentOS-Base.repo/repo/Centos-7.repo這條命令的意思是使用wget命令將/repo/Centos-7.repo文件下載到/etc/yum.repos.d目錄下,重新命名為CentOS-Base.repo。[root@localhost~]#cd/etc/yum.repos.d/[root@localhostyum.repos.d]#wget-O/etc/yum.repos.d/CentOS-Base.repo/repo/Centos-7.repo--2023-03-1115:56:36--/repo/Centos-7.repo正在解析主機(jī)
()...50,34,37,...正在連接
()|50|:443...已連接。已發(fā)出
HTTP請(qǐng)求,正在等待回應(yīng)...200OK長(zhǎng)度:2523(2.5K)[application/octet-stream]正在保存至:“/etc/yum.repos.d/CentOS-Base.repo”
8.2.2安裝并運(yùn)行Nginx服務(wù)100%[=============================================>]2,523--.-K/s用時(shí)0.03s
2023-03-1115:56:36(97.1KB/s)-已保存“/etc/yum.repos.d/CentOS-Base.repo”[2523/2523])[root@localhostyum.repos.d]#lsbakCentOS-Base.repolocal.repo接下來(lái),在首頁(yè)中點(diǎn)擊Epel擴(kuò)展源,如圖8-12所示。圖8-12擴(kuò)展源圖標(biāo)進(jìn)入之后,找到epel(RHEL7)。wget-O/etc/yum.repos.d/epel.repo/repo/epel-7.repo執(zhí)行這條命令將Centos7的擴(kuò)展源下載到/etc/yum.repos.d目錄下,因?yàn)镹ginx服務(wù)在擴(kuò)展源里,所以需要下載這個(gè)配置。[root@localhostyum.repos.d]#wget-O/etc/yum.repos.d/epel.repo/repo/epel-7.repo--2023-03-1116:09:42--/repo/epel-7.repo正在解析主機(jī)
()...41,36,50,...正在連接
()|41|:443...已連接。已發(fā)出
HTTP請(qǐng)求,正在等待回應(yīng)...200OK長(zhǎng)度:664[application/octet-stream]8.2.2安裝并運(yùn)行Nginx服務(wù)正在保存至:“/etc/yum.repos.d/epel.repo”
100%[==================================================>]664--.-K/s用時(shí)0.008s
2023-03-1116:09:42(78.4KB/s)-已保存“/etc/yum.repos.d/epel.repo”[664/664])
[root@localhostyum.repos.d]#lsbakCentOS-Base.repoepel.repolocal.repo2.安裝Nginx服務(wù)做好源配置之后,就可以使用Yum安裝方法安裝Nginx服務(wù)了。[root@localhostyum.repos.d]#yuminstall-ynginx已安裝:nginx.x86_641:1.20.1-10.el7
作為依賴(lài)被安裝:nginx-filesystem.noarch1:1.20.1-10.el7openssl11-libs.x86_641:1.1.1k-5.el7
完畢!8.2.2安裝并運(yùn)行Nginx服務(wù)3.啟動(dòng)Nginx服務(wù)[root@localhostyum.repos.d]#setenforce0[root@localhostyum.repos.d]#firewall-cmd--add-service=http--permanentsuccess[root@localhostyum.repos.d]#firewall-cmd--reloadsuccess[root@localhostyum.repos.d]#firewall-cmd--list-servicessshdhcpv6-clienthttp[root@localhostyum.repos.d]#systemctlstartnginx以上關(guān)閉了selinux,設(shè)置防火墻放行了Http服務(wù),最后把nginx服務(wù)啟動(dòng)起來(lái)。4.訪問(wèn)Nginx默認(rèn)網(wǎng)站在windows上,使用chrome瀏覽器打開(kāi)地址00,即可以訪問(wèn)Nginx默認(rèn)主頁(yè),如圖8-13所示。圖8-13Nginx默認(rèn)主頁(yè)8.2.2安裝并運(yùn)行Nginx服務(wù)5.修改默認(rèn)主頁(yè)Nginx服務(wù)默認(rèn)網(wǎng)站目錄是/usr/share/nginx/html/,進(jìn)入這個(gè)目錄,將自己的網(wǎng)站上傳上來(lái),或者修改index.html,即可以實(shí)現(xiàn)訪問(wèn)自己制作的網(wǎng)頁(yè)。[root@localhost~]#cd/usr/share/nginx/html/[root@localhosthtml]#ls404.html50x.htmlen-USiconsimgindex.htmlnginx-logo.pngpoweredby.png[root@localhosthtml]#echoHellonginx,Welcometousenginx!>index.html再次打開(kāi)地址00,即訪問(wèn)自己制作的頁(yè)面了,如圖8-14所示。圖8-14修改Nginx默認(rèn)主頁(yè)8.2.3修改默認(rèn)網(wǎng)站目錄Nginx服務(wù)的配置文件在/etc/nginx目錄下,如果要修改Nginx服務(wù)的配置,需要對(duì)此目錄下的文件進(jìn)行修改,其中最重要的就是Nginx的主配置文件Nginx.conf文件,如圖8-15所示。
圖8-15Nginx主配置文件nginx.conf配置文件分為3個(gè)部分:全局塊、events塊和http塊。第一部分:全局塊內(nèi)容包括從配置文件開(kāi)始到events塊之間的內(nèi)容,主要功能:配置運(yùn)行Nginx服務(wù)器的用戶(組)、允許生成的workerprocess數(shù)、進(jìn)程
PID存放路徑、日志存放路徑和類(lèi)型以及配置文件的引入等。8.2.3修改默認(rèn)網(wǎng)站目錄第二部分:events塊events塊主要功能:對(duì)多workprocess下的網(wǎng)絡(luò)連接序列化、同時(shí)接收多個(gè)網(wǎng)絡(luò)連接等功能進(jìn)行開(kāi)啟、關(guān)閉設(shè)置,選取哪種事件驅(qū)動(dòng)模型來(lái)處理連接請(qǐng)求,設(shè)置每個(gè)wordprocess可以同時(shí)支持的最大連接數(shù)等。第三部分:http塊http塊主要功能:設(shè)置代理、緩存和日志定義等絕大多數(shù)功能以及第三方模塊的配置。http塊也可以包括http全局塊、server塊。nginx.conf配置文件中第42行是在http模塊的server配置下,用來(lái)定義Nginx服務(wù)默認(rèn)網(wǎng)站目錄。42root/usr/share/nginx/html;將其修改為/web,保存退出。42root/web;然后建立/web目錄,在其中建立index.html文件,輸入內(nèi)容Thisismyweb。[root@localhostnginx]#mkdir/web[root@localhostnginx]#echoThisismyweb!>/web/index.html[root@localhostnginx]#systemctlrestartnginx重啟Nginx服務(wù)后,再使用瀏覽器訪問(wèn)00(服務(wù)器IP),發(fā)現(xiàn)已經(jīng)訪問(wèn)到了自己制作的頁(yè)面,如圖8-16所示。圖8-16修改Nginx默認(rèn)網(wǎng)站目錄8.2.4配置虛擬主機(jī)1.基于域名配置虛擬主機(jī)域名虛擬主機(jī)主要使用在外網(wǎng)場(chǎng)景下,實(shí)現(xiàn)不同的域名,定位到一臺(tái)主機(jī)的不同站點(diǎn)。(1)修改配置文件打開(kāi)nginx.conf文件。[root@localhostnginx]#vinginx.conf在http模塊的第一個(gè)server模塊結(jié)束之后,添加如下內(nèi)容。server{listen80;server_name;indexindex.html;root
/web1;}server{listen80;server_name;indexindex.html;root
/web2;}這里定義了兩個(gè)主機(jī),監(jiān)聽(tīng)的都是80端口,第一個(gè)使用的域名是,網(wǎng)站根目錄是/web1,第二個(gè)使用的域名是,網(wǎng)站根目錄是/web2。[root@localhostnginx]#systemctlrestartnginx重新啟動(dòng)nginx服務(wù),使配置文件生效。8.2.4配置虛擬主機(jī)(2)測(cè)試配置首先創(chuàng)建/web1和/web2目錄,分別建立index.html首頁(yè)文件,內(nèi)容分別為thisismyweb1和thisismyweb2。[root@localhostnginx]#mkdir/web1[root@localhostnginx]#mkdir/web2[root@localhostnginx]#echothisismyweb1>/web1/index.html[root@localhostnginx]#echothisismyweb2>/web2/index.html然后在/etc/hosts文件中添加域名解析。00
00
這里將和解析成服務(wù)器的IP地址。最后使用curl命令進(jìn)行測(cè)試。[root@localhostnginx]#curlthisismyweb1[root@localhostnginx]#curlthisismyweb28.2.4配置虛擬主機(jī)2.基于端口配置虛擬主機(jī)域名虛擬主機(jī)主要使用在內(nèi)網(wǎng)場(chǎng)景下,實(shí)現(xiàn)不同的端口,定位到一臺(tái)主機(jī)的不同站點(diǎn)。(1)修改配置文件打開(kāi)nginx.conf文件,在nginx.conf的http的第一個(gè)server模塊結(jié)束之后,添加如下內(nèi)容server{
listen8080;
server_name00;
root/web1;}server{
listen8888;
server_name00;
root/web2;}這里定義了兩個(gè)主機(jī),監(jiān)聽(tīng)的分別是8080端口和8888端口,監(jiān)聽(tīng)8080端口的網(wǎng)站根目錄是/web1,監(jiān)聽(tīng)8888端口的網(wǎng)站根目錄是/web2。8.2.4配置虛擬主機(jī)(2)測(cè)試配置首先防火墻放行8080、8888端口。[root@localhostnginx]#firewall-cmd--add-port=8080/tcp--permanentsuccess[root@localhostnginx]#firewall-cmd--add-port=8888/tcp--permanentsuccess重啟Nginx服務(wù)。[root@localhostnginx]#systemctlrestartnginx使用curl命令測(cè)試結(jié)果。[root@localhostnginx]#curl00:8080thisismyweb1[root@localhostnginx]#curl00:8888thisismyweb28.2.5配置反向代理反向代理是指以代理服務(wù)器來(lái)接受Internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。(1)修改配置文件打開(kāi)nginx.conf,在默認(rèn)網(wǎng)站的location處添加proxy_pass00:8080。38server{39listen80default_server;40listen[::]:80default_server;41server_name_;42root/web;4344#Loadconfigurationfilesforthedefaultserverblock.45include/etc/nginx/default.d/*.conf;4647location/{4849proxy_pass00:808050}8.2.5配置反向代理反向代理使用的是Server模塊下的Location模塊,配置后,當(dāng)訪問(wèn)00(服務(wù)器IP)時(shí),就不會(huì)出現(xiàn)/web下默認(rèn)目錄的內(nèi)容,而是將請(qǐng)求代理轉(zhuǎn)發(fā)到了0:81,訪問(wèn)結(jié)果如圖8-17所示。圖8-17反向代理到0:81location根據(jù)預(yù)先定義的URL匹配規(guī)則來(lái)接收用戶發(fā)送的請(qǐng)求,根據(jù)匹配結(jié)果,將請(qǐng)求轉(zhuǎn)發(fā)到后臺(tái)服務(wù)器。location匹配規(guī)則如表8-1所示。表8-1location匹配規(guī)則符號(hào)含義=字面精準(zhǔn)匹配,如果匹配,則跳出匹配過(guò)程(不再進(jìn)行正則匹配)~開(kāi)頭區(qū)分大小寫(xiě)的正則匹配~*開(kāi)頭不區(qū)分大小寫(xiě)的正則匹配^~開(kāi)頭表示URL以某個(gè)常規(guī)字符串開(kāi)頭,理解為匹配URL路徑即可/通用匹配,在沒(méi)有正則表達(dá)式匹配時(shí),任何請(qǐng)求都會(huì)匹配到@不是普通的location匹配,用于location內(nèi)部重定向的變量
多個(gè)location配置的匹配順序?yàn)椋菏紫绕ヅ洹?”,其次匹配“^~”,再匹配文件location書(shū)寫(xiě)順序,若沒(méi)有匹配到,最后把所有請(qǐng)求交給通配符(“/”)。當(dāng)有匹配成功時(shí)候,停止匹配,按當(dāng)前匹配規(guī)則處理請(qǐng)求。8.2.6配置負(fù)載均衡在反向代理的基礎(chǔ)上,使用upstream模塊。打開(kāi)nginx.conf配置文件,修改默認(rèn)網(wǎng)站的location內(nèi)容,并在server上方加入upstream模塊,配置如下:39upstreamweb{40server00:8080;41server00:8888;42}4344server{45listen80default_server;46listen[::]:80default_server;47server_name_;48root/web;4950#Loadconfigurationfilesforthedefaultserverblock.51include/etc/nginx/default.d/*.conf;5253location/{5455proxy_passhttp://web;56}8.2.6配置負(fù)載均衡首先將55行的代理地址修改為http://web,然后在39至42行定義了upstream模塊,其中的web和代理的http://web保持一致,然后在內(nèi)部定義了2個(gè)server,一個(gè)是00:8080,另一個(gè)是00:8888。當(dāng)訪問(wèn)00時(shí),訪問(wèn)被代理到http://web,轉(zhuǎn)發(fā)到upstreamweb中,在默認(rèn)的訪問(wèn)策略下,輪詢(xún)?cè)L問(wèn)00:8080和00:8888,通過(guò)瀏覽器刷新可在2個(gè)服務(wù)器之間不斷切換訪問(wèn),如圖8-18和8-19所示。圖8-18首次訪問(wèn)0:8080圖8-19刷新后訪問(wèn)0:8888本任務(wù)注意點(diǎn)(1)反向代理是將外部訪問(wèn)代理到內(nèi)部主機(jī),和正向代理方向相反。(2)負(fù)載均衡要基于反向代理,即首先要配置反向代理。任務(wù)拓展訓(xùn)練(1)啟動(dòng)2臺(tái)linux,配置名稱(chēng)為Proxy和Web。(2)在Proxy上安裝Nginx服務(wù),修改默認(rèn)訪問(wèn)目錄是/data。(3)在Web上安裝Apache服務(wù),配置基于端口的虛擬主機(jī),端口為8000和8001。(4)在Proxy上配置反向代理和負(fù)載均衡,將訪問(wèn)默認(rèn)網(wǎng)站轉(zhuǎn)發(fā)到Web的兩個(gè)虛擬主機(jī)上,訪問(wèn)8000端口和訪問(wèn)8001端口的次數(shù)比例為2:1。補(bǔ)充知識(shí)Nginx與Apache性能對(duì)比Nginx和Apache是我們常用的Web服務(wù)器軟件,它們可以為許多不同的服務(wù)器配置提供良好的性能,但兩者適應(yīng)的場(chǎng)景有所不同。下面簡(jiǎn)單介紹了有關(guān)Apache和Nginx的優(yōu)缺點(diǎn)對(duì)比。1.Apache和Nginx介紹Apache(音譯為阿帕奇)是目前世界使用排名第一的Web服務(wù)器軟件,它可以在大多數(shù)服務(wù)器(國(guó)內(nèi)服務(wù)器或海外服務(wù)器)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用。Apache幾乎是所有流行的Linux發(fā)行版上的預(yù)安裝軟件,許多系統(tǒng)管理員也喜歡Apache的可定制性及通過(guò)加載各種模塊來(lái)創(chuàng)建自己的服務(wù)器。Nginx(enginex)是一個(gè)高性能的HTTP和反向代理Web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)。與Apache相比,它雖然起步晚,但在性能上一點(diǎn)不遜色,能與靜態(tài)文件配合得很好,并且可執(zhí)行負(fù)載均衡器和反向代理功能,非常適用于現(xiàn)代網(wǎng)絡(luò)。補(bǔ)充知識(shí)2.Apache和Nginx的優(yōu)缺點(diǎn)對(duì)比(1)連接和請(qǐng)求處理Nginx擁有優(yōu)秀的架構(gòu)設(shè)計(jì),包括模塊化設(shè)計(jì)、事件驅(qū)動(dòng)架構(gòu)、請(qǐng)求的多階段異步處理、管理進(jìn)程與多工作進(jìn)程設(shè)計(jì)等,這意味著它可以在有可用資源時(shí)一次處理多個(gè)請(qǐng)求,預(yù)計(jì)一次有數(shù)千次的連接,性能優(yōu)越。相反,Apache通過(guò)多個(gè)多處理模塊(MPM)一次處理一個(gè)事件,該mpm_prefork模塊是一個(gè)常見(jiàn)的模塊,它會(huì)為每個(gè)事件生成子進(jìn)程,并且一次只處理一個(gè)連接。(2)靜態(tài)與動(dòng)態(tài)內(nèi)容的請(qǐng)求處理Nginx通常不能以原生方式處理動(dòng)態(tài)內(nèi)容,它需將其發(fā)送到外部處理器(比如緩存),然后等待返回,再將內(nèi)容進(jìn)行移動(dòng),在動(dòng)態(tài)內(nèi)容請(qǐng)求處理時(shí)可能比不上Apache,但在靜態(tài)資源處理上,Nginx性能會(huì)更好。(3)配置服務(wù)器Nginx與Apache之間一個(gè)明顯的區(qū)別在于如何配置每個(gè)服務(wù)器。Nginx采用集中式方式,這意味著用戶無(wú)法在一個(gè)主文件之外配置服務(wù)器,不需要處理請(qǐng)求來(lái)檢查每個(gè)目錄中的配置文件,縮短了請(qǐng)求處理時(shí)間,具有更高的性能。Apache允許通過(guò)放置在Web目錄樹(shù)中的特殊文件來(lái)分散管理配置,該特殊文件通常稱(chēng)為.htaccess文件,它發(fā)出請(qǐng)求時(shí),Apache將檢查文件路徑的每個(gè)元素,這種分散方法能夠使WordPress等內(nèi)容管理系統(tǒng)(CMS)在Apache服務(wù)器上提供良好的性能。8.3.1MariaDB概述數(shù)據(jù)庫(kù)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),表現(xiàn)為磁盤(pán)上的一個(gè)文件,而MySQL、Oracle、MariaDB等都是數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,主要由開(kāi)源社區(qū)維護(hù),采用GPL授權(quán)許可。MariaDB問(wèn)世的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲(chǔ)引擎方面,使用XtraDB來(lái)代替MySQL的InnoDB。Mariadb由MySQL的創(chuàng)始人MichaelWidenius主導(dǎo)開(kāi)發(fā),他早前曾以10億美元的價(jià)格,將自己創(chuàng)建的公司MySQLAB賣(mài)給了SUN,此后,隨著SUN被甲骨文收購(gòu),MySQL的所有權(quán)也落入了Oracle的手中。8.3.2安裝并運(yùn)行MariaDB服務(wù)1.安裝MariaDB[root@localhostyum.repos.d]#yuminstall-ymariadbmariadb-server已安裝:mariadb.x86_641:5.5.60-1.el7_5mariadb-server.x86_641:5.5.60-1.el7_5
作為依賴(lài)被安裝:perl-Compress-Raw-Bzip2.x86_640:2.061-3.el7perl-Compress-Raw-Zlib.x86_641:2.061-4.el7perl-DBD-MySQL.x86_640:4.023-6.el7perl-DBI.x86_640:1.627-4.el7perl-Data-Dumper.x86_640:2.145-3.el7perl-IO-Compress.noarch0:2.061-2.el7perl-Net-Daemon.noarch0:0.48-5.el7perl-PlRPC.noarch0:0.2020-14.el7
完畢!MariaDB采用C/S架構(gòu),其中MariaDB是客戶端,MariaDB-Server是服務(wù)端。8.3.2安裝并運(yùn)行MariaDB服務(wù)2.啟動(dòng)MariaDB[root@localhost~]#systemctlstartmariadb[root@localhost~]#netstat-ntlpActiveInternetconnections(onlyservers)ProtoRecv-QSend-Q
LocalAddress
ForeignAddressStatePID/Programnametcp
0
0
:3306:*LISTEN18681/mysqld啟動(dòng)Mariadb后查看端口,發(fā)現(xiàn)Mariadb服務(wù)端口是3306。8.3.3MariaDB基礎(chǔ)運(yùn)維1.初始化數(shù)據(jù)庫(kù)密碼[root@localhost~]#mysqlWelcometotheMariaDBmonitor.Commandsendwith;or\g.YourMariaDBconnectionidis2Serverversion:5.5.60-MariaDBMariaDBServerCopyright(c)2000,2018,Oracle,MariaDBCorporationAbandothers.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.MariaDB[(none)]>在命令行中使用mysql就登錄到了Mariadb服務(wù)器上,這樣是不安全的,需要為數(shù)據(jù)庫(kù)管理系統(tǒng)配置一個(gè)密碼,使用的命令是mysql_secure_installation,這條命令是可以使用Tab鍵補(bǔ)齊的。[root@localhost~]#mysql_secure_installationNOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMariaDB8.3.3MariaDB基礎(chǔ)運(yùn)維SERVERSINPRODUCTIONUSE!PLEASEREADEACHSTEPCAREFULLY!InordertologintoMariaDBtosecureit,we'llneedthecurrentpasswordfortherootuser.Ifyou'vejustinstalledMariaDB,andyouhaven'tsettherootpasswordyet,thepasswordwillbeblank,soyoushouldjustpressenterhere.Entercurrentpasswordforroot(enterfornone):OK,successfullyusedpassword,movingon...SettingtherootpasswordensuresthatnobodycanlogintotheMariaDBrootuserwithouttheproperauthorisation.Setrootpassword?[Y/n]yNewpassword:Re-enternewpassword:Passwordupdatedsuccessfully!Reloadingprivilegetables.....Success!Bydefault,aMariaDBinstallationhasananonymoususer,allowinganyonetologintoMariaDBwithouthavingtohaveauseraccountcreatedforthem.Thisisintendedonlyfortesting,andtomaketheinstallationgoabitsmoother.Youshouldremovethembeforemovingintoaproductionenvironment.Removeanonymoususers?[Y/n]y...Success!Normally,rootshouldonlybeallowedtoconnectfrom'localhost'.Thisensuresthatsomeonecannotguessattherootpasswordfromthenetwork.Disallowrootloginremotely?[Y/n]y...Success!8.3.3MariaDB基礎(chǔ)運(yùn)維...Success!Bydefault,MariaDBcomeswithadatabasenamed'test'thatanyonecanaccess.Thisisalsointendedonlyfortesting,andshouldberemovedbeforemovingintoaproductionenvironment.
Removetestdatabaseandaccesstoit?[Y/n]y-Droppingtestdatabase......Success!-Removingprivilegesontestdatabase......Success!Reloadingtheprivilegetableswillensurethatallchangesmadesofarwilltakeeffectimmediately.Reloadprivilegetablesnow?[Y/n]y...Success!Cleaningup...Alldone!Ifyou'vecompletedalloftheabovesteps,yourMariaDBinstallationshouldnowbesecure.ThanksforusingMariaDB!8.3.3MariaDB基礎(chǔ)運(yùn)維使用mysql_secure_installation命令后,系統(tǒng)提示輸入當(dāng)前密碼,因?yàn)楫?dāng)前沒(méi)有密碼,回車(chē)即可,接下來(lái)當(dāng)出現(xiàn)如下內(nèi)容。Setrootpassword?[Y/n]yNewpassword:Re-enternewpassword:詢(xún)問(wèn)是否輸入密碼,輸入y確認(rèn),然后輸入兩次密碼。然后提示是否刪除匿名用戶,輸入y刪除。Removeanonymoususers?[Y/n]y接下來(lái)詢(xún)問(wèn)是否禁止用戶在遠(yuǎn)端登錄,輸入y,所有用戶就不能使用網(wǎng)絡(luò)登錄到此數(shù)據(jù)庫(kù)了,如果希望用戶可以從網(wǎng)絡(luò)上登錄,這處要選擇n。Disallowrootloginremotely?[Y/n]y然后詢(xún)問(wèn)是否刪除test數(shù)據(jù)庫(kù),如不使用測(cè)試數(shù)據(jù)庫(kù)可以輸入y刪除。Removetestdatabaseandaccesstoit?[Y/n]y最后詢(xún)問(wèn)是否加載特權(quán)表,輸入y確認(rèn)。Reloadprivilegetablesnow?[Y/n]y8.3.3MariaDB基礎(chǔ)運(yùn)維2.登錄MariaDB數(shù)據(jù)庫(kù)當(dāng)初始化了數(shù)據(jù)庫(kù)的密碼后,就可以使用這個(gè)密碼登錄了。(1)登錄本機(jī)MariaDB[root@localhost~]#mysql-uroot-pEnterpassword:WelcometotheMariaDBmonitor.Commandsendwith;or\g.YourMariaDBconnectionidis12Serverversion:5.5.60-MariaDBMariaDBServerCopyright(c)2000,2018,Oracle,MariaDBCorporationAbandothers.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.MariaDB[(none)]>登錄到本機(jī)Mariadb服務(wù)使用mysql-uroot-p提示輸入密碼,輸入初始化中設(shè)置的密碼就可以登錄了。這里的-uroot代表用戶是root用戶。輸入-p回車(chē)提示輸入密碼,也可以在-p的后邊直接寫(xiě)上密碼,但不建議這么做,因?yàn)椴话踩?.3.3MariaDB基礎(chǔ)運(yùn)維(2)登錄到遠(yuǎn)端MariaDB[root@localhost~]#mysql-uroot-p-hEnterpassword:MariaDB[(none)]>登錄到遠(yuǎn)程的Mariadb服務(wù)器只主需要加上-h參數(shù),然后在后邊加上遠(yuǎn)程的IP地址,這里以本機(jī)地址模擬遠(yuǎn)程主機(jī)。登錄遠(yuǎn)程主機(jī)的前提是在初始化的時(shí)候沒(méi)有禁止遠(yuǎn)程登錄,否則是不能登錄到遠(yuǎn)程MariaDB服務(wù)器的。3.使用數(shù)據(jù)庫(kù)和表登錄到MariaDB后,就可以進(jìn)行數(shù)據(jù)庫(kù)和表的基本操作了。(1)查看數(shù)據(jù)庫(kù)。MariaDB[(none)]>showdatabases;+---------------------------+|Database
|+---------------------------+|information_schema
||mysql
||performance_schema|+---------------------------+使用showdatabases;可以查看本數(shù)據(jù)庫(kù)管理系統(tǒng)中管理的所有數(shù)據(jù)庫(kù),在命令結(jié)束后要使用“;”結(jié)束。8.3.3MariaDB基礎(chǔ)運(yùn)維(2)使用某個(gè)數(shù)據(jù)庫(kù)MariaDB[(none)]>usemysql;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechanged使用“usemysql;”即可使用mysql這個(gè)數(shù)據(jù)庫(kù)了。(3)查看數(shù)據(jù)表使用showtables;命令可以查看當(dāng)前mysql數(shù)據(jù)庫(kù)中所有表。MariaDB[mysql]>showtables;+---------------------------+|Table
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保潔職工合同范本
- 《管理會(huì)計(jì)學(xué)》模擬題庫(kù)358題(含答案)
- 高尿酸血癥流行病學(xué)
- 如夢(mèng)令李清照
- 商業(yè)智能案例
- 木工合同范本模板
- 郵輪租賃合同范本
- 地質(zhì)勘察合同范本
- 投標(biāo)合同范本圖
- 簡(jiǎn)易安全合同范本
- 鋼結(jié)構(gòu)工程冬季施工方案
- 英語(yǔ)-重慶市2025年普通高等學(xué)校招生全國(guó)統(tǒng)一考試11月調(diào)研試卷(康德卷)試題和答案
- 2024年宏觀經(jīng)濟(jì)發(fā)展情況分析報(bào)告
- 攝影入門(mén)課程-攝影基礎(chǔ)與技巧全面解析
- 251直線與圓的位置關(guān)系(第1課時(shí))(導(dǎo)學(xué)案)(原卷版)
- XX有限公司人員分流方案
- 大語(yǔ)言模型賦能自動(dòng)化測(cè)試實(shí)踐、挑戰(zhàn)與展望-復(fù)旦大學(xué)(董震)
- 期中模擬檢測(cè)(1-3單元)2024-2025學(xué)年度第一學(xué)期西師大版二年級(jí)數(shù)學(xué)
- 追覓科技在線測(cè)評(píng)邏輯題
- 2024-2030年中國(guó)演藝行業(yè)發(fā)展分析及發(fā)展前景與趨勢(shì)預(yù)測(cè)研究報(bào)告
- 2024年重慶市渝北區(qū)數(shù)據(jù)谷八中小升初數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論