![Linux操作系統(tǒng)活頁式教程 課件 項目8 配置和管理Linux服務_第1頁](http://file4.renrendoc.com/view3/M03/13/27/wKhkFmZZKx-AYWKXAACrzoCZEh8747.jpg)
![Linux操作系統(tǒng)活頁式教程 課件 項目8 配置和管理Linux服務_第2頁](http://file4.renrendoc.com/view3/M03/13/27/wKhkFmZZKx-AYWKXAACrzoCZEh87472.jpg)
![Linux操作系統(tǒng)活頁式教程 課件 項目8 配置和管理Linux服務_第3頁](http://file4.renrendoc.com/view3/M03/13/27/wKhkFmZZKx-AYWKXAACrzoCZEh87473.jpg)
![Linux操作系統(tǒng)活頁式教程 課件 項目8 配置和管理Linux服務_第4頁](http://file4.renrendoc.com/view3/M03/13/27/wKhkFmZZKx-AYWKXAACrzoCZEh87474.jpg)
![Linux操作系統(tǒng)活頁式教程 課件 項目8 配置和管理Linux服務_第5頁](http://file4.renrendoc.com/view3/M03/13/27/wKhkFmZZKx-AYWKXAACrzoCZEh87475.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Linux操作系統(tǒng)項目式教程目錄CONTENTS項目1初識Linux操作系統(tǒng)項目2Linux操作系統(tǒng)基礎項目3用戶組群和權限管理項目項目4配置和管理磁盤項目5安裝軟件項目6編寫Shell腳本統(tǒng)項目7配置和管理網(wǎng)絡系統(tǒng)項目8配置和管理Linux服務項目8配置和管理Linux服務任務1配置和管理Apache服務器任務2配置和管理Nginx服務器任務3配置和管理MariaDB服務器任務4搭建單機動態(tài)Web應用8.1.1Apache服務器概述ApacheHTTPServer(簡稱Apache)是Apache軟件基金會的一個開放源碼的網(wǎng)頁服務器,是目前世界上使用最廣泛的一種Webserver。它以跨平臺、高效和穩(wěn)定而聞名,可以運行在幾乎所有廣泛使用的計算機平臺上。Apache的特點是簡單、速度快、性能穩(wěn)定,并可做代理服務器來使用。Apache是用C語言開發(fā)的基于模塊化設計的web應用,總體上看起來代碼的可讀性高于PHP代碼,它的核心代碼并不多,大多數(shù)的功能都被分割到各種模塊中,各個模塊在系統(tǒng)啟動時按需載入。Apache支持SSL技術,支持多個虛擬主機。Apache是以進程的Prefork模式(還有基于線程的Worker模式)為基礎的結(jié)構(gòu),進程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個ApacheWeb站點擴容時,通常是增加服務器或擴充群集節(jié)點而不是增加處理器。8.1.2安裝并設置Apache服務器1.安裝Apache服務器[root@localhost~]#yuminstallhttpd-y已安裝:httpd.x86_640:2.4.6-98.el7.centos.6
作為依賴被安裝: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服務器需要安裝的軟件是httpd。2.設置防火墻和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服務器使用的是http協(xié)議,防火墻需要放行http就可以了。8.1.3配置默認網(wǎng)站目錄1.啟動服務[root@localhost~]#systemctlstarthttpd啟動服務后,使用瀏覽器輸入http://服務器的IP地址并按Enter鍵,就可以訪問Apache服務器的默認主頁了,如圖8-1所示。圖8-1Apache服務器默認主頁2.測試自己制作網(wǎng)頁Apache的配置文件在/etc/httpd/conf文件夾下,配置文件名稱是httpd.conf,打開配置文件后,觀察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)站上傳到這個目錄下,就可以進行訪問了,可以在這個目錄下制作一個簡單頁面,進行訪問。[root@localhostconf]#echoHelloLinux>/var/www/html/index.html在/var/www/html下,制作主頁index.html,寫入內(nèi)容“HelloLinux”,如圖8-2所示。圖8-2瀏覽自己制作的網(wǎng)頁8.1.3配置默認網(wǎng)站目錄3.修改默認網(wǎng)站目錄Apache的默認網(wǎng)站目錄是/var/www/html,因為是默認的,所以通常不夠安全,可以通過修改配置文件的方法修改默認網(wǎng)站目錄。[root@localhost~]#mkdir
–p/home/www[root@localhost~]#echoThisismyfirstApachewebsite>/home/www/myweb.html首先在/home/目錄下創(chuàng)建www文件夾,在www文件夾中創(chuàng)建myweb.html,寫入內(nèi)容ThisismyfirstApachewebsite。[root@localhost~]#setenforce0[root@localhost~]#vihttpd.conf……119DocumentRoot"/home/www"http://修改文檔根目錄124<Directory"/home/www">//網(wǎng)站數(shù)據(jù)目錄的權限AllowOverrideNoneRequireallgranted</Directory>131<Directory"/home/www">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory><IfModuledir_module>164DirectoryIndexmyweb.html//修改默認主頁</IfModule>……[root@localhostconf]#systemctlreloadhttpd8.1.3配置默認網(wǎng)站目錄然后取消selinux,打開httpd.conf配置文件,將119行、124行、131行中的目錄位置修改為/home/www;將164行的默認主頁名稱修改為myweb.html,保存配置。重啟服務,再使用瀏覽器訪問,就可以訪問/home/www目錄下的網(wǎng)頁了,如圖8-3所示。
圖8-3修改默認網(wǎng)站目錄需要說明的是119行,定義的就是網(wǎng)站的根目錄,131定義的是這個目錄的訪問權限,一般設置為<Directory"/home/www">
OptionsIndexesFollowSymLinks//該目錄沒有index頁面時,顯示目錄本身AllowOverrideNone//忽略.htaccess文件
Requireallgranted//授權所有主機可以訪問</Directory>8.1.4配置虛擬主機在一臺Apache服務器上通常需要運行多個網(wǎng)站,這就需要配置服務,實現(xiàn)需求。在用戶端看,每個網(wǎng)站都是一個主機,但實際上,這些網(wǎng)站都是在一臺服務器上的,所以叫虛擬主機。Apache虛擬主機的配置方法通常有三種,分別是基于IP的、基于域名的、基于端口的?;贗P和端口的通常使用在局域網(wǎng)中,基于域名的通常使用在Internet上。1.基于IP地址的虛擬主機(1)給服務器配置多個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配置虛擬主機(2)創(chuàng)建web1和web2目錄,建立主頁文件[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地址的虛擬主機設置/的訪問權限時granted,打開/etc/httpd/conf下的httpd.conf文件,第將104行設置成Requireallgranted。102<Directory/>103AllowOverridenone104Requireallgranted105</Directory>在文件的最后加上如下代碼:<Virtualhost00:80>ServerName00
DocumentRoot/home/www/web1</Virtualhost><Virtualhost01:80>
ServerName01
DocumentRoot/home/www/web2</Virtualhost>重新啟動httpd服務。[root@localhostconf.d]#systemctlrestarthttpd8.1.4配置虛擬主機(4)測試配置啟動瀏覽器,輸入00可以訪問/home/www/web1的index.html,如圖8-4所示。
圖8-4訪問web1的index.html輸入01可以訪問/home/www/web2的index.html,如圖8-5所示。
圖8-5訪問web2的index.html8.1.4配置虛擬主機2.基于端口的虛擬主機使用同一個IP地址,但配置不同的端口號,同樣可以實現(xiàn)在一個Apache服務器上發(fā)布多個網(wǎng)站。(1)創(chuàng)建web1和web2目錄,建立主頁文件[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)配置基于端口的虛擬主機將監(jiān)聽的8000和8080端口加入到主配置文件中。打開/etc/httpd/conf/httpd.conf,在42行后加入以下兩行。43Listen800044Listen8080在文件最后加上如下配置。<Virtualhost00:8000>ServerName00DocumentRoot/home/www/web1</Virtualhost><Virtualhost00:8080>ServerName00DocumentRoot/home/www/web2</Virtualhost>重新啟動httpd服務。[root@localhostconf.d]#systemctlrestarthttpd8.1.4配置虛擬主機(3)測試配置啟動瀏覽器,輸入00:8000可以訪問/home/www/web1的index.html,如圖8-6所示。
圖8-6訪問8000端口輸入01:8080可以訪問/home/www/web2的index.html,如圖8-7所示。
圖8-7訪問8080端口8.1.4配置虛擬主機3.基于域名的虛擬主機使用同一個IP地址,但配置不同的域名,同樣可以在一個Apache服務器上發(fā)布多個網(wǎng)站,實現(xiàn)使用不同的域名訪問多個網(wǎng)站的功能。(1)配置name.conf首先在conf.d目錄中創(chuàng)建name.conf配置文件,添加如下配置。
<VirtualHost*:80>//監(jiān)控服務器任意IP的80端口
ServerName//配置此網(wǎng)站的域名為
DocumentRoot"/home/www/web1"http://虛擬主機網(wǎng)站目錄</VirtualHost><VirtualHost*:80>//監(jiān)控服務器任意IP的80端口
ServerName//配置此網(wǎng)站的域名為
DocumentRoot"/home/www/web2"http://虛擬主機網(wǎng)站目錄</VirtualHost>8.1.4配置虛擬主機(2)配置windows的hosts文件hosts文件時windows上提供IP地址和名稱解析的文件,修改這個文件,可以實現(xiàn)名稱和IP地址的對應關系,它的位置在C:\Windows\System32\drivers\etc,打開這個文件,在末尾處填入00//對應0000//對應00如果在當前目錄下不可以修改,可以把這個文件,拷貝到桌面,修改完成后再復制到這個目錄就可以了。(3)驗證配置啟動瀏覽器,輸入可以瀏覽/web1/index.html,如圖8-8所示。圖8-8訪問myweb1輸入可以瀏覽/web2/index.html,如圖8-9所示。
圖8-9訪問myweb28.1.5配置訪問控制1.控制網(wǎng)絡上的主機通過Require選項配置,可以控制網(wǎng)絡中主機能否訪問該網(wǎng)站,Require的語法如下。Requireallgranted
//允許所有IP訪問Requirealldenied
//拒絕所有IP訪問Requireipip地址
//允許某些IP訪問Requirenotipip地址
//拒絕某些IP訪問IP地址的書寫方式也有幾種,可以不加區(qū)分的寫在同一行,中間用空格分開。單個IP地址//00..網(wǎng)絡加掩碼
///網(wǎng)絡加掩碼長度
///24網(wǎng)絡
//例如,讓除了/24網(wǎng)段用戶的所有用戶都可以訪問/web網(wǎng)站<Directory"/web"><RequireAll>RequireallgrantedRequirenotip/24</RequireAll></Directory>8.1.5配置訪問控制2.允許指定用戶訪問有些需要控制訪問網(wǎng)站的用戶,方法是建立訪問網(wǎng)站的用戶數(shù)據(jù)庫文件,再修改配置文件。(1)建立用戶訪問數(shù)據(jù)庫[root@localhost~]#useraddwebuser//添加linux用戶webuser[root@localhost~]#htpasswd-c/pwdwebuser//創(chuàng)建pwd文件,加入webuserNewpassword://輸入webuser的密碼Re-typenewpassword://確認密碼Addingpasswordforuserwebuser[root@localhost~]#cat/pwd//查看用戶數(shù)據(jù)庫文件webuser:$apr1$nwh64HF5$HdsWOYG0sLWQcCbg7mdog/(2)配置用戶訪問在相應的配置文件中添加認證配置,這里以name.conf中域名訪問網(wǎng)站為例,在原來配置的基礎上添加<Directory"/home/www/web1"></Directory>之間的配置<VirtualHost*:80>ServerNameDocumentRoot
"/home/www/web1"<Directory"/home/www/web1">
authname"myweb1"http://認證提示名稱
authtypebasic//認證類型為基礎認證
authuserfile/pwd//認證文件
requirevalid-user//要求有效的用戶</Directory></VirtualHost>8.1.5配置訪問控制(3)驗證配置啟動瀏覽器,輸入,系統(tǒng)提示需要輸入用戶名和密碼,如圖8-10所示,輸入用戶數(shù)據(jù)庫中的webuser和密碼就可以訪問了。
圖8-10提示輸入用戶和密碼本任務注意點(1)
配置基于端口的虛擬主機時,要在主配置文件中監(jiān)控相應的端口,防火墻放行相關端口。(2)
基于域名的虛擬主機一般應用于internet,基于端口的虛擬主機一般應用于局域網(wǎng)。任務拓展訓練(1)
啟動兩臺linux主機,配置名稱為server和client。(2)
在server上安裝apache服務,網(wǎng)站默認訪問目錄是/data。(3)
在server上配置基于端口的虛擬主機,端口分別是8080和8081,目錄在/data下,分別是/data/web1和/data/web2。首頁文件都是index.html,內(nèi)容分別是hellodata1、hellodata2。(4)
在開放8080端口的虛擬主機上做訪問控制,限制client端不可以訪問。(5)
在物理機和client上驗證配置,其中物理機可以訪問默認網(wǎng)站和基于端口的2臺虛擬主機,但client端不可以訪問開放8080的虛擬主機。補充知識Apache簡介
Apache(音譯為阿帕奇)是世界使用排名第一的Web服務器軟件。Apache起初由伊利諾伊大學香檳分校的國家超級電腦應用中心開發(fā)。此后,Apache被開放源代碼團體的成員不斷的發(fā)展和加強,Apache服務器擁有牢靠可信的美譽,它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。
隨著互聯(lián)網(wǎng)的不斷發(fā)展和普及,Web服務早已經(jīng)成為人們?nèi)粘I詈蛯W習的必不可少的組成部分,只要在瀏覽器的地址欄中輸入一個網(wǎng)址,就能進入網(wǎng)絡世界,獲得幾乎所有想要的資源,Web服務已經(jīng)成為人們工作、學習、娛樂和社交等活動的重要工具,對于絕大多數(shù)的普通用戶而言,萬維網(wǎng)(WorldWideWeb,WWW)幾乎就是Web服務的代名詞。Web服務提供的資源多種多樣,可能是簡單的文本,也可能是圖片、音頻和視頻等多媒體數(shù)據(jù)。如今隨著移動網(wǎng)絡的迅猛發(fā)展,智能手機逐漸成為人們訪問Web服務的入口,不管是瀏覽器還是智能手機,Web服務的基本原理都是相同的。補充知識1.Web服務的工作原理WWW是Internet上被廣泛應用的一種信息服務技術,WWW采用的是客戶/服務器結(jié)構(gòu),整理和儲存各種WWW資源,并響應客戶端軟件的請求,把所需要的信息資源通過瀏覽器傳送給用戶。Web服務通常可以分為兩種:靜態(tài)Web服務和動態(tài)服務。Web服務也是采用典型的客戶機/服務器模式,Web服務運行于TCP之上,每個網(wǎng)站都對應一臺(或多臺)Web服務,服務器中有各種資源,客戶端就是用戶面前的瀏覽器,Web服務的工作原理并不復雜,一般可分為4個步驟,即連接過程、請求過程、應答過程及關閉連接。連接過程:就是瀏覽器和Web服務器之間建立TCP連接的過程。請求過程:就是瀏覽器向Web服務器發(fā)出資源查詢請求,在瀏覽器中輸入的URL表示資源在Web服務器中的具體位置。應該答過程:就是Web服務器根據(jù)URL把相應的資源返回給瀏覽器,瀏覽器則以網(wǎng)頁的形式把資源展示給用戶。關閉連接:就是在應答過程完成之后,瀏覽器和Web服務器之間斷開連接的過程。瀏覽器和Web服務器之間的一次交互也被稱為一次“會話”。補充知識2.超文本傳輸協(xié)議(HyperTextTransferProtocol,HTTP)HTTP可以算得上是目前國際互聯(lián)網(wǎng)基礎上的一個重要組成部分,而Apache、IIS服務器是HTTP協(xié)議的服務器軟件,微軟的InternetExplorer和Mozilla的Firefox則是HTTP協(xié)議的客戶端實現(xiàn)。Apacheweb服務器軟件擁有以下特性:l支持最新的HTTP/1.1通信協(xié)議l擁有簡單而強有力的基于文件的配置過程l支持通用網(wǎng)關接口l支持基于IP和基于域名的虛擬主機l支持多種方式的HTTP認證l集成Perl處理模塊l集成代理服務器模塊l支持實時監(jiān)視服務器狀態(tài)和定制服務器日志l支持服務器端包含指令(SSI)l支持安全Socket層(SSL)l提供用戶會話過程的跟蹤l支持FastCGIl通過第三方模塊可以支持JavaServlets8.2.1Nginx服務器概述1.Nginx簡介
Nginx是一個HTTP服務器,是一個使用C語言開發(fā)的高性能的HTTP服務器/反向代理服務器及電子郵件(IMAP/POP3/SMTP)代理服務器。由俄羅斯的程序設計師IgorSysoev開發(fā),官方測試nginx能夠支支撐5萬并發(fā)鏈接,并且cpu、內(nèi)存等資源消耗卻非常低,運行非常穩(wěn)定,特別適合搭建大量靜態(tài)資源的并發(fā)訪問服務。2.Nginx應用場景l(fā)http服務器Nginx是一個http服務可以獨立提供http服務,可以做網(wǎng)頁靜態(tài)服務器。l虛擬主機可以實現(xiàn)在一臺服務器虛擬出多個網(wǎng)站,和Apache的虛擬主機功能相同。l反向代理反向代理應該是Nginx做的最多的服務,反向代理(ReverseProxy)是指以代理服務器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡上的服務器,并將從服務器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務器對外就表現(xiàn)為一個反向代理服務器,簡單來說就是真實的服務器不能直接被外部網(wǎng)絡訪問,所以需要一臺代理服務器,而代理服務器能被外部網(wǎng)絡訪問的同時又跟真實服務器在同一個網(wǎng)絡環(huán)境,當然也可能是同一臺服務器,端口不同而已。l負載均衡當網(wǎng)站的訪問量達到一定程度后,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集群,使用多臺服務器可以平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況,負載均衡配置一般都需要同時配置反向代理,通過反向代理跳轉(zhuǎn)到負載均衡。8.2.1Nginx服務器概述3.Nginx優(yōu)勢l作為Web服務器,Nginx處理靜態(tài)文件、索引文件,自動索引的效率非常高。l作為代理服務器,Nginx可以實現(xiàn)無緩存的反向代理加速,提高網(wǎng)站運行速度。l作為負載均衡服務器,Nginx既可以在內(nèi)部直接支持Rails和PHP,也可以支持HTTP代理服務器對外進行服務,同時還支持簡單的容錯和利用算法進行負載均衡。l在性能方面,Nginx是專門為性能優(yōu)化而開發(fā)的,實現(xiàn)上非常注重效率。它采用內(nèi)核Poll模型,可以支持更多的并發(fā)連接,最大可以支持對5萬個并發(fā)連接數(shù)的響應,而且只占用很低的內(nèi)存資源。l在穩(wěn)定性方面,Nginx采取了分階段資源分配技術,使得CPU與內(nèi)存的占用率非常低。Nginx官方表示,Nginx保持1萬個沒有活動的連接只占用2.5MB內(nèi)存,因此,類似DOS這樣的攻擊對Nginx來說基本上是沒有任何作用的。l在高可用性方面,Nginx支持熱部署,啟動速度特別迅速,因此可以在不間斷服務的情況下,對軟件版本或者配置進行升級,即使運行數(shù)月也無需重新啟動,幾乎可以做到7x24小時不間斷地運行。8.2.2安裝并運行Nginx服務1.配置網(wǎng)絡yum源登錄阿里云的鏡像站地址/mirror/,點擊Centos圖標,如圖8-11所示。
圖8-11基礎源圖標進入之后,找到CentOS7基礎源配置。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正在解析主機
()...50,34,37,...正在連接
()|50|:443...已連接。已發(fā)出
HTTP請求,正在等待回應...200OK長度:2523(2.5K)[application/octet-stream]正在保存至:“/etc/yum.repos.d/CentOS-Base.repo”
8.2.2安裝并運行Nginx服務100%[=============================================>]2,523--.-K/s用時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接下來,在首頁中點擊Epel擴展源,如圖8-12所示。圖8-12擴展源圖標進入之后,找到epel(RHEL7)。wget-O/etc/yum.repos.d/epel.repo/repo/epel-7.repo執(zhí)行這條命令將Centos7的擴展源下載到/etc/yum.repos.d目錄下,因為Nginx服務在擴展源里,所以需要下載這個配置。[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正在解析主機
()...41,36,50,...正在連接
()|41|:443...已連接。已發(fā)出
HTTP請求,正在等待回應...200OK長度:664[application/octet-stream]8.2.2安裝并運行Nginx服務正在保存至:“/etc/yum.repos.d/epel.repo”
100%[==================================================>]664--.-K/s用時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服務做好源配置之后,就可以使用Yum安裝方法安裝Nginx服務了。[root@localhostyum.repos.d]#yuminstall-ynginx已安裝:nginx.x86_641:1.20.1-10.el7
作為依賴被安裝:nginx-filesystem.noarch1:1.20.1-10.el7openssl11-libs.x86_641:1.1.1k-5.el7
完畢!8.2.2安裝并運行Nginx服務3.啟動Nginx服務[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以上關閉了selinux,設置防火墻放行了Http服務,最后把nginx服務啟動起來。4.訪問Nginx默認網(wǎng)站在windows上,使用chrome瀏覽器打開地址00,即可以訪問Nginx默認主頁,如圖8-13所示。圖8-13Nginx默認主頁8.2.2安裝并運行Nginx服務5.修改默認主頁Nginx服務默認網(wǎng)站目錄是/usr/share/nginx/html/,進入這個目錄,將自己的網(wǎng)站上傳上來,或者修改index.html,即可以實現(xiàn)訪問自己制作的網(wǎng)頁。[root@localhost~]#cd/usr/share/nginx/html/[root@localhosthtml]#ls404.html50x.htmlen-USiconsimgindex.htmlnginx-logo.pngpoweredby.png[root@localhosthtml]#echoHellonginx,Welcometousenginx!>index.html再次打開地址00,即訪問自己制作的頁面了,如圖8-14所示。圖8-14修改Nginx默認主頁8.2.3修改默認網(wǎng)站目錄Nginx服務的配置文件在/etc/nginx目錄下,如果要修改Nginx服務的配置,需要對此目錄下的文件進行修改,其中最重要的就是Nginx的主配置文件Nginx.conf文件,如圖8-15所示。
圖8-15Nginx主配置文件nginx.conf配置文件分為3個部分:全局塊、events塊和http塊。第一部分:全局塊內(nèi)容包括從配置文件開始到events塊之間的內(nèi)容,主要功能:配置運行Nginx服務器的用戶(組)、允許生成的workerprocess數(shù)、進程
PID存放路徑、日志存放路徑和類型以及配置文件的引入等。8.2.3修改默認網(wǎng)站目錄第二部分:events塊events塊主要功能:對多workprocess下的網(wǎng)絡連接序列化、同時接收多個網(wǎng)絡連接等功能進行開啟、關閉設置,選取哪種事件驅(qū)動模型來處理連接請求,設置每個wordprocess可以同時支持的最大連接數(shù)等。第三部分:http塊http塊主要功能:設置代理、緩存和日志定義等絕大多數(shù)功能以及第三方模塊的配置。http塊也可以包括http全局塊、server塊。nginx.conf配置文件中第42行是在http模塊的server配置下,用來定義Nginx服務默認網(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服務后,再使用瀏覽器訪問00(服務器IP),發(fā)現(xiàn)已經(jīng)訪問到了自己制作的頁面,如圖8-16所示。圖8-16修改Nginx默認網(wǎng)站目錄8.2.4配置虛擬主機1.基于域名配置虛擬主機域名虛擬主機主要使用在外網(wǎng)場景下,實現(xiàn)不同的域名,定位到一臺主機的不同站點。(1)修改配置文件打開nginx.conf文件。[root@localhostnginx]#vinginx.conf在http模塊的第一個server模塊結(jié)束之后,添加如下內(nèi)容。server{listen80;server_name;indexindex.html;root
/web1;}server{listen80;server_name;indexindex.html;root
/web2;}這里定義了兩個主機,監(jiān)聽的都是80端口,第一個使用的域名是,網(wǎng)站根目錄是/web1,第二個使用的域名是,網(wǎng)站根目錄是/web2。[root@localhostnginx]#systemctlrestartnginx重新啟動nginx服務,使配置文件生效。8.2.4配置虛擬主機(2)測試配置首先創(chuàng)建/web1和/web2目錄,分別建立index.html首頁文件,內(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
這里將和解析成服務器的IP地址。最后使用curl命令進行測試。[root@localhostnginx]#curlthisismyweb1[root@localhostnginx]#curlthisismyweb28.2.4配置虛擬主機2.基于端口配置虛擬主機域名虛擬主機主要使用在內(nèi)網(wǎng)場景下,實現(xiàn)不同的端口,定位到一臺主機的不同站點。(1)修改配置文件打開nginx.conf文件,在nginx.conf的http的第一個server模塊結(jié)束之后,添加如下內(nèi)容server{
listen8080;
server_name00;
root/web1;}server{
listen8888;
server_name00;
root/web2;}這里定義了兩個主機,監(jiān)聽的分別是8080端口和8888端口,監(jiān)聽8080端口的網(wǎng)站根目錄是/web1,監(jiān)聽8888端口的網(wǎng)站根目錄是/web2。8.2.4配置虛擬主機(2)測試配置首先防火墻放行8080、8888端口。[root@localhostnginx]#firewall-cmd--add-port=8080/tcp--permanentsuccess[root@localhostnginx]#firewall-cmd--add-port=8888/tcp--permanentsuccess重啟Nginx服務。[root@localhostnginx]#systemctlrestartnginx使用curl命令測試結(jié)果。[root@localhostnginx]#curl00:8080thisismyweb1[root@localhostnginx]#curl00:8888thisismyweb28.2.5配置反向代理反向代理是指以代理服務器來接受Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡上的服務器,并將從服務器上得到的結(jié)果返回給Internet上請求連接的客戶端,此時代理服務器對外就表現(xiàn)為一個服務器。(1)修改配置文件打開nginx.conf,在默認網(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模塊,配置后,當訪問00(服務器IP)時,就不會出現(xiàn)/web下默認目錄的內(nèi)容,而是將請求代理轉(zhuǎn)發(fā)到了0:81,訪問結(jié)果如圖8-17所示。圖8-17反向代理到0:81location根據(jù)預先定義的URL匹配規(guī)則來接收用戶發(fā)送的請求,根據(jù)匹配結(jié)果,將請求轉(zhuǎn)發(fā)到后臺服務器。location匹配規(guī)則如表8-1所示。表8-1location匹配規(guī)則符號含義=字面精準匹配,如果匹配,則跳出匹配過程(不再進行正則匹配)~開頭區(qū)分大小寫的正則匹配~*開頭不區(qū)分大小寫的正則匹配^~開頭表示URL以某個常規(guī)字符串開頭,理解為匹配URL路徑即可/通用匹配,在沒有正則表達式匹配時,任何請求都會匹配到@不是普通的location匹配,用于location內(nèi)部重定向的變量
多個location配置的匹配順序為:首先匹配“=”,其次匹配“^~”,再匹配文件location書寫順序,若沒有匹配到,最后把所有請求交給通配符(“/”)。當有匹配成功時候,停止匹配,按當前匹配規(guī)則處理請求。8.2.6配置負載均衡在反向代理的基礎上,使用upstream模塊。打開nginx.conf配置文件,修改默認網(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配置負載均衡首先將55行的代理地址修改為http://web,然后在39至42行定義了upstream模塊,其中的web和代理的http://web保持一致,然后在內(nèi)部定義了2個server,一個是00:8080,另一個是00:8888。當訪問00時,訪問被代理到http://web,轉(zhuǎn)發(fā)到upstreamweb中,在默認的訪問策略下,輪詢訪問00:8080和00:8888,通過瀏覽器刷新可在2個服務器之間不斷切換訪問,如圖8-18和8-19所示。圖8-18首次訪問0:8080圖8-19刷新后訪問0:8888本任務注意點(1)反向代理是將外部訪問代理到內(nèi)部主機,和正向代理方向相反。(2)負載均衡要基于反向代理,即首先要配置反向代理。任務拓展訓練(1)啟動2臺linux,配置名稱為Proxy和Web。(2)在Proxy上安裝Nginx服務,修改默認訪問目錄是/data。(3)在Web上安裝Apache服務,配置基于端口的虛擬主機,端口為8000和8001。(4)在Proxy上配置反向代理和負載均衡,將訪問默認網(wǎng)站轉(zhuǎn)發(fā)到Web的兩個虛擬主機上,訪問8000端口和訪問8001端口的次數(shù)比例為2:1。補充知識Nginx與Apache性能對比Nginx和Apache是我們常用的Web服務器軟件,它們可以為許多不同的服務器配置提供良好的性能,但兩者適應的場景有所不同。下面簡單介紹了有關Apache和Nginx的優(yōu)缺點對比。1.Apache和Nginx介紹Apache(音譯為阿帕奇)是目前世界使用排名第一的Web服務器軟件,它可以在大多數(shù)服務器(國內(nèi)服務器或海外服務器)操作系統(tǒng)中運行,由于其多平臺和安全性被廣泛使用。Apache幾乎是所有流行的Linux發(fā)行版上的預安裝軟件,許多系統(tǒng)管理員也喜歡Apache的可定制性及通過加載各種模塊來創(chuàng)建自己的服務器。Nginx(enginex)是一個高性能的HTTP和反向代理Web服務器,同時也提供了IMAP/POP3/SMTP服務。與Apache相比,它雖然起步晚,但在性能上一點不遜色,能與靜態(tài)文件配合得很好,并且可執(zhí)行負載均衡器和反向代理功能,非常適用于現(xiàn)代網(wǎng)絡。補充知識2.Apache和Nginx的優(yōu)缺點對比(1)連接和請求處理Nginx擁有優(yōu)秀的架構(gòu)設計,包括模塊化設計、事件驅(qū)動架構(gòu)、請求的多階段異步處理、管理進程與多工作進程設計等,這意味著它可以在有可用資源時一次處理多個請求,預計一次有數(shù)千次的連接,性能優(yōu)越。相反,Apache通過多個多處理模塊(MPM)一次處理一個事件,該mpm_prefork模塊是一個常見的模塊,它會為每個事件生成子進程,并且一次只處理一個連接。(2)靜態(tài)與動態(tài)內(nèi)容的請求處理Nginx通常不能以原生方式處理動態(tài)內(nèi)容,它需將其發(fā)送到外部處理器(比如緩存),然后等待返回,再將內(nèi)容進行移動,在動態(tài)內(nèi)容請求處理時可能比不上Apache,但在靜態(tài)資源處理上,Nginx性能會更好。(3)配置服務器Nginx與Apache之間一個明顯的區(qū)別在于如何配置每個服務器。Nginx采用集中式方式,這意味著用戶無法在一個主文件之外配置服務器,不需要處理請求來檢查每個目錄中的配置文件,縮短了請求處理時間,具有更高的性能。Apache允許通過放置在Web目錄樹中的特殊文件來分散管理配置,該特殊文件通常稱為.htaccess文件,它發(fā)出請求時,Apache將檢查文件路徑的每個元素,這種分散方法能夠使WordPress等內(nèi)容管理系統(tǒng)(CMS)在Apache服務器上提供良好的性能。8.3.1MariaDB概述數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,表現(xiàn)為磁盤上的一個文件,而MySQL、Oracle、MariaDB等都是數(shù)據(jù)庫管理系統(tǒng)(DBMS)。MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個分支,主要由開源社區(qū)維護,采用GPL授權許可。MariaDB問世的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。Mariadb由MySQL的創(chuàng)始人MichaelWidenius主導開發(fā),他早前曾以10億美元的價格,將自己創(chuàng)建的公司MySQLAB賣給了SUN,此后,隨著SUN被甲骨文收購,MySQL的所有權也落入了Oracle的手中。8.3.2安裝并運行MariaDB服務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
作為依賴被安裝: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是服務端。8.3.2安裝并運行MariaDB服務2.啟動MariaDB[root@localhost~]#systemctlstartmariadb[root@localhost~]#netstat-ntlpActiveInternetconnections(onlyservers)ProtoRecv-QSend-Q
LocalAddress
ForeignAddressStatePID/Programnametcp
0
0
:3306:*LISTEN18681/mysqld啟動Mariadb后查看端口,發(fā)現(xiàn)Mariadb服務端口是3306。8.3.3MariaDB基礎運維1.初始化數(shù)據(jù)庫密碼[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服務器上,這樣是不安全的,需要為數(shù)據(jù)庫管理系統(tǒng)配置一個密碼,使用的命令是mysql_secure_installation,這條命令是可以使用Tab鍵補齊的。[root@localhost~]#mysql_secure_installationNOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMariaDB8.3.3MariaDB基礎運維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基礎運維...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基礎運維使用mysql_secure_installation命令后,系統(tǒng)提示輸入當前密碼,因為當前沒有密碼,回車即可,接下來當出現(xiàn)如下內(nèi)容。Setrootpassword?[Y/n]yNewpassword:Re-enternewpassword:詢問是否輸入密碼,輸入y確認,然后輸入兩次密碼。然后提示是否刪除匿名用戶,輸入y刪除。Removeanonymoususers?[Y/n]y接下來詢問是否禁止用戶在遠端登錄,輸入y,所有用戶就不能使用網(wǎng)絡登錄到此數(shù)據(jù)庫了,如果希望用戶可以從網(wǎng)絡上登錄,這處要選擇n。Disallowrootloginremotely?[Y/n]y然后詢問是否刪除test數(shù)據(jù)庫,如不使用測試數(shù)據(jù)庫可以輸入y刪除。Removetestdatabaseandaccesstoit?[Y/n]y最后詢問是否加載特權表,輸入y確認。Reloadprivilegetablesnow?[Y/n]y8.3.3MariaDB基礎運維2.登錄MariaDB數(shù)據(jù)庫當初始化了數(shù)據(jù)庫的密碼后,就可以使用這個密碼登錄了。(1)登錄本機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)]>登錄到本機Mariadb服務使用mysql-uroot-p提示輸入密碼,輸入初始化中設置的密碼就可以登錄了。這里的-uroot代表用戶是root用戶。輸入-p回車提示輸入密碼,也可以在-p的后邊直接寫上密碼,但不建議這么做,因為不安全。8.3.3MariaDB基礎運維(2)登錄到遠端MariaDB[root@localhost~]#mysql-uroot-p-hEnterpassword:MariaDB[(none)]>登錄到遠程的Mariadb服務器只主需要加上-h參數(shù),然后在后邊加上遠程的IP地址,這里以本機地址模擬遠程主機。登錄遠程主機的前提是在初始化的時候沒有禁止遠程登錄,否則是不能登錄到遠程MariaDB服務器的。3.使用數(shù)據(jù)庫和表登錄到MariaDB后,就可以進行數(shù)據(jù)庫和表的基本操作了。(1)查看數(shù)據(jù)庫。MariaDB[(none)]>showdatabases;+---------------------------+|Database
|+---------------------------+|information_schema
||mysql
||performance_schema|+---------------------------+使用showdatabases;可以查看本數(shù)據(jù)庫管理系統(tǒng)中管理的所有數(shù)據(jù)庫,在命令結(jié)束后要使用“;”結(jié)束。8.3.3MariaDB基礎運維(2)使用某個數(shù)據(jù)庫MariaDB[(none)]>usemysql;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechanged使用“usemysql;”即可使用mysql這個數(shù)據(jù)庫了。(3)查看數(shù)據(jù)表使用showtables;命令可以查看當前mysql數(shù)據(jù)庫中所有表。MariaDB[mysql]>showtables;+---------------------------+|Table
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國內(nèi)體育器材采購及租賃服務合同
- 2025年度辦公樓室內(nèi)外一體化裝修工程合同
- 農(nóng)田果園轉(zhuǎn)租合同范例
- 農(nóng)場注入資金合同范本
- 農(nóng)田修路流轉(zhuǎn)合同范例
- 出國勞務押金合同范本
- 建筑工程管理中供應鏈管理的關鍵問題探討
- 供苗草坪合同范本
- 委托平面設計合同范本
- 五金加工合同范本
- 2025屆高考數(shù)學一輪專題重組卷第一部分專題十四立體幾何綜合文含解析
- 福建省泉州市南安市2024-2025學年九年級上學期期末考試語文試題(無答案)
- 2025年中國電子煙行業(yè)發(fā)展前景與投資戰(zhàn)略規(guī)劃分析報告
- 醫(yī)療器材申請物價流程
- 人教PEP版2025年春季小學英語三年級下冊教學計劃
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項考試題庫
- 華為研發(fā)部門績效考核制度及方案
- CSC資助出國博士聯(lián)合培養(yǎng)研修計劃英文-research-plan
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 攝影入門課程-攝影基礎與技巧全面解析
- 司法考試2024年知識點背誦版-民法
評論
0/150
提交評論