云計算集群技術(shù)及應(yīng)用 課件 第8章-大型網(wǎng)站集群架構(gòu)項目一_第1頁
云計算集群技術(shù)及應(yīng)用 課件 第8章-大型網(wǎng)站集群架構(gòu)項目一_第2頁
云計算集群技術(shù)及應(yīng)用 課件 第8章-大型網(wǎng)站集群架構(gòu)項目一_第3頁
云計算集群技術(shù)及應(yīng)用 課件 第8章-大型網(wǎng)站集群架構(gòu)項目一_第4頁
云計算集群技術(shù)及應(yīng)用 課件 第8章-大型網(wǎng)站集群架構(gòu)項目一_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第8章

大型網(wǎng)站集群架構(gòu)項目一8.1項目準(zhǔn)備8.2部署LeadShop網(wǎng)站8.3資源共享8.4部署Nginx七層負(fù)載8.5部署LVS四層負(fù)載8.6數(shù)據(jù)庫集群熟悉網(wǎng)站優(yōu)化方式熟悉分布式集群搭建掌握搭建完整網(wǎng)站架構(gòu)的方式引言通過前面的學(xué)習(xí),讀者已經(jīng)可以掌握高并發(fā)大型網(wǎng)站的常用配置與操作。為了進一步提升讀者在生產(chǎn)環(huán)境中對該部分內(nèi)容的運用技巧,本章將針對完整的網(wǎng)站架構(gòu)通過網(wǎng)站優(yōu)化、分布式集群搭建等方向進行講解。8.1項目準(zhǔn)備項目分析項目說明項目設(shè)計項目實施該章節(jié)主要是對全書內(nèi)容的一個綜合項目總結(jié)。對本書的重點知識,如Web集群、數(shù)據(jù)庫集群、LVS四層負(fù)載、Nginx七層負(fù)載進行回顧,將學(xué)過的技術(shù)相融合,帶領(lǐng)讀者在技術(shù)上可以有質(zhì)的飛躍。8.1

項目準(zhǔn)備8.1.1

項目分析本書所涉及的所有集群技術(shù)可構(gòu)建企業(yè)中常見的網(wǎng)站集群架構(gòu)。集群架構(gòu)的選擇和構(gòu)建要根據(jù)實際的應(yīng)用場景和業(yè)務(wù)需求進行規(guī)劃,主要考慮以下參考指標(biāo)。(1)確定網(wǎng)站業(yè)務(wù)類型企業(yè)應(yīng)用和業(yè)務(wù)類型,如政務(wù)平臺、企業(yè)OA、游戲網(wǎng)站、在線視頻等,決定了IDC帶寬大小。(2)頁面訪問量頁面訪問量即PV(PageView),反映的是瀏覽網(wǎng)站的頁面數(shù),刷新一次也算是一次訪問。服務(wù)器數(shù)量與PV的關(guān)系不是固定的,還要考慮服務(wù)器的配置高低。如果日訪問量不大的情況,可以部署小型集群架構(gòu)。8.1

項目準(zhǔn)備8.1.1

項目分析(3)考慮數(shù)據(jù)量大小數(shù)據(jù)量的大小包含已有數(shù)據(jù)量、產(chǎn)生的數(shù)據(jù)量、日增數(shù)據(jù)量,數(shù)據(jù)量的大小與集群規(guī)模息息相關(guān),具體的計算公式如下所示。若每臺服務(wù)器的內(nèi)存為128G,8T的磁盤,不考慮數(shù)據(jù)壓縮,開始計算相關(guān)數(shù)據(jù)。每日的活躍用戶為100萬時,每個用戶平均一天會產(chǎn)生100條數(shù)據(jù),那么就是10萬*100=10000萬條數(shù)據(jù)。每條數(shù)據(jù)產(chǎn)生的相關(guān)日志約1K大小,產(chǎn)生的總?cè)罩敬笮〖s1K*10000萬/1024/1024=100G。6個月不考慮擴張服務(wù)器時,產(chǎn)生的數(shù)據(jù)量大小約100G*180天=18T,為了保障數(shù)據(jù)的安全性保存3個副本,總數(shù)據(jù)量則為18T*3=54T。在運行和存儲現(xiàn)有數(shù)據(jù)外,還需要預(yù)留至少20%至30%的空間,則需要54T/0.7=77T的空間。最后,一臺服務(wù)器若為8T磁盤,則需要77T/8T=約10臺服務(wù)器。8.1

項目準(zhǔn)備8.1.1

項目分析(4)確定集群的節(jié)點類型根據(jù)實際需求搭建集群架構(gòu),如MySQL集群是主主復(fù)制還是主從復(fù)制,Keepalived是單主模式還是雙主模式等,考慮集群的冗余災(zāi)備能力以及可擴展、可延展性從而確定集群的節(jié)點類型。8.1

項目準(zhǔn)備8.1.1

項目分析架設(shè)一個功能齊全的網(wǎng)站集群,用戶可以通過網(wǎng)絡(luò)對網(wǎng)站的資源進行訪問??蛻舳说挠脩敉ㄟ^Internet訪問LeadShop(企業(yè)上線的業(yè)務(wù)或項目)網(wǎng)站地址:通過客戶端在hosts文件中解析,解析到LVS前端負(fù)載調(diào)度器上,四層負(fù)載均衡根據(jù)IP和端口將請求進行合理分發(fā)。當(dāng)七層負(fù)載均衡器Nginx收到來自LVS的任務(wù)時,根據(jù)用戶請求類型的不同,再次將用戶請求向web服務(wù)器分發(fā)。在使用Apache的web服務(wù)器上分別部署LeadShop(企業(yè)上線的業(yè)務(wù)或項目)虛擬主機網(wǎng)站內(nèi)容。當(dāng)用戶更新商品信息,上架商品等內(nèi)容時,數(shù)據(jù)通過Web服務(wù)寫入MySQL數(shù)據(jù)庫。當(dāng)用戶上傳商品圖片、視頻、附件頭像等文件時,這些數(shù)據(jù)會通過Web服務(wù)傳到共享存儲NFS服務(wù)器上,而不是存儲到Web服務(wù)器上。所有服務(wù)器時間保持一致,對重要數(shù)據(jù)進行定時備份,數(shù)據(jù)庫做主從復(fù)制和讀寫分離的備份策略。為LVS和Nginx配置高可用,實現(xiàn)宕機后由備機自動接管服務(wù)。8.1

項目準(zhǔn)備8.1.2

項目說明首先按照網(wǎng)站技術(shù)發(fā)展的順序,將網(wǎng)站的架構(gòu)建設(shè)完整。8.1

項目準(zhǔn)備8.1.3

項目設(shè)計完整的網(wǎng)站架構(gòu)圖。該架構(gòu)中用到的服務(wù)器及技術(shù)解釋如下所示。四層負(fù)載均衡調(diào)度器(LVS+Keepalived)七層負(fù)載均衡調(diào)度器(Nginx)Web應(yīng)用集群(Apache+PHP)數(shù)據(jù)庫服務(wù)器(Mysql)共享存儲服務(wù)器(NFS)本章項目中同時使用LVS和Nginx。LVS工作在網(wǎng)絡(luò)的第四層,僅完成請求分發(fā),穩(wěn)定性和轉(zhuǎn)發(fā)效率更高。Nginx作為中間環(huán)節(jié),不但避免了流量集中的瓶頸問題,減少后端的服務(wù)壓力,而且還可以實現(xiàn)一些業(yè)務(wù)切換、分流、前置緩存的功能。8.1

項目準(zhǔn)備8.1.3

項目設(shè)計任何一個大型網(wǎng)站集群都是由中小型網(wǎng)站集群發(fā)展而來。為了讓讀者更直觀地體會到這個過程,該綜合項目將首先以LAMP架構(gòu)為基礎(chǔ)搭建小型網(wǎng)站集群,并上線LeadShop系統(tǒng)。在基礎(chǔ)工作完成之后,再對該LeadShop網(wǎng)站進行架構(gòu)的升級,配置四七層負(fù)載均衡器改善網(wǎng)站性能并為數(shù)據(jù)庫開啟主從復(fù)制優(yōu)化。要完成圖中的網(wǎng)站架構(gòu)部署,至少要準(zhǔn)備8臺可用的服務(wù)器。8.1

項目準(zhǔn)備8.1.4

項目實施服務(wù)器角色應(yīng)用程序IP地址Web服務(wù)器2Apache+PHP31數(shù)據(jù)庫服務(wù)器MySQL32數(shù)據(jù)庫服務(wù)器MySQL38共享存儲NFS29七層負(fù)載均衡器Nginx135七層負(fù)載均衡器Nginx233四層負(fù)載均衡器(主)LVS36四層負(fù)載均衡器(備)LVS37備注:本實驗中所有服務(wù)器都采用CentOS7.6操作系統(tǒng),需要提前關(guān)閉防火墻及Selinux,同步系統(tǒng)時間。8.2部署LeadShop網(wǎng)站部署Web集群部署數(shù)據(jù)庫服務(wù)器上線LeadShop商城系統(tǒng)首先在準(zhǔn)備好的Web服務(wù)器上上線網(wǎng)站系統(tǒng),按照服務(wù)器處理的請求類型不同,將動靜態(tài)服務(wù)器分開部署。用以處理靜態(tài)請求的Web服務(wù)器配置Apache即可,用以處理動態(tài)請求的Web服務(wù)器配置Apache和PHP,數(shù)據(jù)庫采用MySQL在獨立服務(wù)器上進行實現(xiàn),兩臺Web的共用數(shù)據(jù)將通過NFS進行共享。8.2

部署LeadShop網(wǎng)站8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群1.在應(yīng)用服務(wù)器web1和web2上分別安裝Apache、PHP-MySQL(用于連接數(shù)據(jù)庫)。2.由于yum源下載的PHP版本較低,此處使用源碼編譯安裝PHP7.20。首先查看apxs所在路徑,此工具用于編譯PHP時生成/etc/httpd/modules/libphp7.so,若沒有這個擴展工具,Apache無法解析PHP代碼。[root@web1~]#yum-yinstallhttpdhttpd-develphp-mysql[root@web2~]#yum-yinstallhttpdhttpd-develphp-mysql[root@web1~]#rpm-qlhttpd-devel|grepapxs/usr/bin/apxs[root@web2~]#rpm-qlhttpd-devel|grepapxs/usr/bin/apxs8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群3.安裝編譯工具以及PHP的相關(guān)依賴包。[root@web1~]#yuminstall-ygccgcc-c++makezlibzlib-develpcrepcre-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-servers[root@web2~]#yuminstall-ygccgcc-c++makezlibzlib-develpcrepcre-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-servers8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群4.下載PHP軟件包到/usr/local目錄并解壓。#web1[root@web1~]#cd/usr/local/[root@web1local]#wget/distributions/php-7.2.20.tar.gz--2022-04-2016:47:54--/distributions/php-7.2.20.tar.gzResolving()...9,2a02:cb40:200::1adConnectingto()|9|:443...connected.HTTPrequestsent,awaitingresponse...200OKLength:19724758(19M)[application/octet-stream]Savingto:‘php-7.2.20.tar.gz’100%[==============>]19,724,758344KB/sin63s2022-04-2016:48:58(307KB/s)-‘php-7.2.20.tar.gz’saved[19724758/19724758][root@web1local]#tar-zxfphp-7.2.20.tar.gz#web2[root@web2~]#cd/usr/local/[root@web2local]#wget/distributions/php-7.2.20.tar.gz[root@web2local]#tar-zxfphp-7.2.20.tar.gz8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群5.進入解壓后的PHP目錄,對即將安裝的PHP軟件進行配置,以及檢查當(dāng)前環(huán)境是否滿足源代碼安裝的依賴關(guān)系。#web1[root@web1local]#cdphp-7.2.20[root@web1php-7.2.20]#./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php--enable-mbstring--with-openssl--enable-ftp--with-gd--with-jpeg-dir=/usr--with-png-dir=/usr--with-mysql=mysqlnd--with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd--with-pear--enable-sockets--with-freetype-dir=/usr--with-zlib--with-libxml-dir=/usr--with-xmlrpc--enable-zip--enable-fpm--enable-xml--enable-sockets--with-gd--with-zlib--with-iconv--with-apxs2=/usr/bin/apxs--enable-zip--with-freetype-dir=/usr/lib/--enable-soap--enable-pcntl--enable-cli--with-curl#web2[root@web2local]#cdphp-7.2.20[root@web2local]#./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php--enable-mbstring--with-openssl--enable-ftp--with-gd--with-jpeg-dir=/usr--with-png-dir=/usr--with-mysql=mysqlnd--with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd--with-pear--enable-sockets--with-freetype-dir=/usr--with-zlib--with-libxml-dir=/usr--with-xmlrpc--enable-zip--enable-fpm--enable-xml--enable-sockets--with-gd--with-zlib--with-iconv--with-apxs2=/usr/bin/apxs--enable-zip--with-freetype-dir=/usr/lib/--enable-soap--enable-pcntl--enable-cli--with-curl8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群6.編譯并安裝PHP。7.安裝完成后,拷貝一份php.ini至php安裝目錄。[root@web1php-7.2.20]#make&&makeinstall[root@web2php-7.2.20]#make&&makeinstall[root@web1php-7.2.20]#cpphp.ini-production/usr/local/php/php.ini[root@web2php-7.2.20]#cpphp.ini-production/usr/local/php/php.ini8.在環(huán)境配置文件/etc/profile中添加PHP環(huán)境變量。#web1[root@web1php-7.2.20]#exportPATH=$PATH:/usr/local/php/bin[root@web1php-7.2.20]#source/etc/profile#web2[root@web2php-7.2.20]#exportPATH=$PATH:/usr/local/php/bin[root@web2php-7.2.20]#source/etc/profile8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群9.查看當(dāng)前PHP的版本,進一步驗證PHP是否安裝成功。[root@web1php-7.2.20]#php-vPHP7.2.20(cli)(built:Apr20202217:21:31)(NTS)Copyright(c)1997-2018ThePHPGroupZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologies[root@web2php-7.2.20]#php-vPHP7.2.20(cli)(built:Apr20202217:21:31)(NTS)Copyright(c)1997-2018ThePHPGroupZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologies8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群至此PHP安裝完成,接下來配置Apache服務(wù)器對PHP文件的解析。10.編輯Apache的配置文件/etc/httpd/conf/httpd.conf。LoadModulephp7_module/usr/lib64/httpd/modules/libphp7.so(1)在LoadModule(啟動時加載的模塊)處查找如下代碼,若沒有如下代碼則添加。<IfModulemod_php7.c>AddTypeapplication/x-httpd-php.php</IfModule>(2)在文件的最后添加如下代碼,以支持Apache對PHP的解析。<IfModuledir_module>DirectoryIndexindex.htmlindex.php</IfModule>(3)在<IfModuledir_module>配置節(jié)點添加默認(rèn)的首頁頁面文件,即在index.html后添加index.php。8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群11.配置完成后啟動網(wǎng)站服務(wù),并設(shè)置其開機自啟。[root@web1~]#systemctlstarthttpd[root@web1~]#systemctlenablehttpd[root@web2~]#systemctlstarthttpd[root@web2~]#systemctlenablehttpd12.配置完成后啟動網(wǎng)站服務(wù),并設(shè)置其開機自啟。至此,靜態(tài)Web服務(wù)器部署完成。8.2

部署LeadShop網(wǎng)站8.2.1

部署Web集群13.在兩臺web服務(wù)器上各自編寫一個PHP測試頁,測試網(wǎng)站是否能解析PHP語言。若之前安裝的PHP可以正常工作,在瀏覽器中訪問該動態(tài)Web服務(wù)器IP時,可以看到PHP信息頁。測試頁面的編寫代碼及內(nèi)容。#vim/var/www/html/index.php<?phpphpinfo();?>編寫完成后,輸入:wq!,保存退出14.在瀏覽器中訪問該動態(tài)Web服務(wù)器的IP。通過圖9.7可以看到動態(tài)Web服務(wù)器可以正常處理動態(tài)頁面,Apache與PHP可以正常工作,動態(tài)Web服務(wù)器部署完成。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器在預(yù)設(shè)的主數(shù)據(jù)庫上部署mysql服務(wù),用于處理數(shù)據(jù)的增刪改查等功能。#查看已安裝的MariaDB[root@mysql1~]#rpm-qa|grepmariadbmariadb-libs-5.5.60-1.el7_5.x86_64#強制刪除MariaDB[root@mysql1~]#rpm-e--nodepsmariadb-libs-5.5.60-1.el7_5.x86_64[root@mysql1~]#rpm-qa|grepmariadb15.卸載系統(tǒng)自動安裝的MariaDB。[root@mysql1~]#wget/get/mysql80-community-release-el7-3.noarch.rpm16.在文件的最后添加如下代碼,以支持Apache對PHP的解析。下載完成后,輸入ls即可看到下載完成的MySQL鏡像包。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器[root@mysql1~]#lsmysql80-community-release-el7-3.noarch.rpm[root@mysql1~]#rpm-ivhmysql80-community-release-el7-3.noarch.rpmwarning:mysql80-community-release-el7-3.noarch.rpm:HeaderV3DSA/SHA1Preparing...#################################Updating/installing...1:mysql80-community-release-el7-3#################################17.使用RPM工具將該鏡像包解析并更新至本機的鏡像源中。[root@mysql1~]#yum-yinstallyum-utils18.當(dāng)官方源配置完成,服務(wù)器就可以使用Yum進行安裝并使用該軟件。下載Yum管理工具包。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器[root@mysql1~]#yum-config-manager--disablemysql80-community[root@mysql1~]#yum-config-manager--enablemysql57-community19.下載完成后使用yum-config-manager命令關(guān)閉MySQL8.0版本,并開啟MySQL5.7版本。[root@mysql1~]#yum-yinstallmysql-community-server--nogpgcheck……省略安裝過程……Installed:mysql-community-libs.x86_640:5.7.37-1.el7mysql-commysql-community-server.x86_640:5.7.37-1.el7Complete!20.使用Yum命令下載并安裝MySQL。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器[root@mysql1~]#systemctlstartmysqld[root@mysql1~]#systemctlenablemysqld21.啟動MySQL,并設(shè)置為開機自啟。[root@mysql1~]#grep"Atemporarypassword"/var/log/mysqld.log2022-04-15T05:46:37.863321Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:!h(Ctnevh0R#22.查看root用戶被授予的臨時密碼。綜上所述,MySQL已經(jīng)安裝并啟動完成。MySQL的臨時登錄密碼為!h(Ctnevh0R#(隨機)。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器[root@mysql1~]#mysql-uroot-p"!h(Ctnevh0R#"……省略部分代碼…….#修改MySQL登錄密碼mysql>ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'qf@123.coM';QueryOK,0rowsaffected(0.00sec)#授予web服務(wù)器權(quán)限mysql>grantallon*.*toroot@'31'identifiedby'qf@123;.coM';QueryOK,0rowsaffected,1warning(0.00sec)mysql>grantallon*.*toroot@'30'identifiedby'qf@123.coM';QueryOK,0rowsaffected,1warning(0.00sec)#創(chuàng)建數(shù)據(jù)庫用戶mysql>createusertom@'%'identifiedby'qf@123.coM';QueryOK,0rowsaffected(1.34sec)23.登錄數(shù)據(jù)庫修改密碼,創(chuàng)建數(shù)據(jù)庫用戶,并授予相關(guān)權(quán)限。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器#允許遠程登錄mysql>usemysql;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechangedmysql>updateusersethost='%'whereuser='tom';QueryOK,0rowsaffected(0.13sec)Rowsmatched:1Changed:0Warnings:0mysql>flushprivileges;QueryOK,0rowsaffected(0.00sec)23.登錄數(shù)據(jù)庫修改密碼,創(chuàng)建數(shù)據(jù)庫用戶,并授予相關(guān)權(quán)限。新建的數(shù)據(jù)庫用戶為tom,登錄密碼為“qf@123.coM”。8.2

部署LeadShop網(wǎng)站8.2.2

部署數(shù)據(jù)庫服務(wù)器[root@web1~]#cat/var/www/html/test.php<?php$link=mysqli_connect('32','tom','qf@123.coM');if($link)echo"Successfully";elseecho"Fail";mysql_close();?>24.初始化數(shù)據(jù)庫之后,在網(wǎng)站根目錄下編寫test.php文件,測試網(wǎng)站是否能與數(shù)據(jù)庫連通。若其可以連接成功則返回Successfully,否則返回Fail。25.編寫完成后,在瀏覽器中訪問test.php。當(dāng)前網(wǎng)站與數(shù)據(jù)庫交互成功,分離式LAMP環(huán)境搭建完成。1.導(dǎo)入LeadShop網(wǎng)站源碼(1)首先在web1服務(wù)器利用wget工具下載LeadShop網(wǎng)站源碼,web2不做操作。8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)#web1[root@web1~]#wget/leadshop/leadshop/repository/archive/master.zip--2022-04-1909:27:41--/leadshop/leadshop/repository/archive/master.zip……Location:/leadshop/leadshop/repository/blazearchive/master.zip?Expires=1650332877&Signature=oUnEshFimywSAyhVFbol57ii3gVnx5AIVoUaS7%2BTpfA%3D[following]--2022-04-1909:27:54--/leadshop/leadshop/repository/blazearchive/master.zip?Expires=1650332877&Signature=oUnEshFimywSAyhVFbol57ii3gVnx5AIVoUaS7%2BTpfA%3DReusingexistingconnectionto:443.HTTPrequestsent,awaitingresponse...200OKLength:unspecified[application/zip]Savingto:‘master.zip’[<=>]102,613,8111.10MB/sin1m46s2022-04-1909:29:40(948KB/s)-‘master.zip’saved[102613811]1.導(dǎo)入LeadShop網(wǎng)站源碼(2)下載完成后,對網(wǎng)站壓縮包進行解壓,再將軟件包移至指定或自創(chuàng)的網(wǎng)站目錄下,授予相應(yīng)權(quán)限。8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)#web1[root@web1~]#unzipmaster.zip[root@web1~]#lsanaconda-ks.cfgleadshop-mastermaster.zip[root@web1~]#cp-rfleadshop-master//webdir/[root@web1~]#ls/webdir/leadshop-master[root@web1~]#chmod777-R/webdir/leadshop-master2.Apache配置虛擬主機8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)#web1[root@web1~]#cat/etc/httpd/conf.d/leadshop.conf<VirtualHost*:80>ServerNameDocumentRoot/webdir/leadshop-master/web</VirtualHost><Directory"/webdir/leadshop-master/web">Requireallgranted</Directory>#web2[root@web2~]#cat/etc/httpd/conf.d/leadshop.conf<VirtualHost*:80>ServerNameDocumentRoot/webdir/leadshop-master/web</VirtualHost><Directory"/webdir/leadshop-master/web">Requireallgranted</Directory>編輯配置文件,設(shè)置論壇網(wǎng)站的接收端口,指定網(wǎng)站目錄位置。指定LeadShop網(wǎng)站通過80端口接收請求,網(wǎng)站目錄在/webdir/leadshop-master/web,該目錄下的所有訪問操作都是被允許的。3.準(zhǔn)備數(shù)據(jù)庫8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)[root@mysql1~]#mysql-uroot-p'qf@123.coM'……省略部分代碼……mysql>createdatabaseleadshop;QueryOK,1rowaffected(0.00sec)mysql>showdatabases;++|Database|++|information_schema||leadshop||mysql||performance_schema||sys|++5rowsinset(0.00sec)(1)在初始化完成的數(shù)據(jù)庫中創(chuàng)建leadshop數(shù)據(jù)庫,用以存放網(wǎng)站數(shù)據(jù)。#授予庫權(quán)限mysql>grantallon*.*to'tom'@'%';QueryOK,0rowsaffected(3.14sec)#刷新mysql>flushprivileges;QueryOK,0rowsaffected(0.00sec)(2)網(wǎng)站數(shù)據(jù)庫部署完成后,在數(shù)據(jù)庫中授予操作leadshop庫的權(quán)限。4.安裝LeadShop系統(tǒng)8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)(1)在瀏覽器中輸入動態(tài)Web服務(wù)器的IP地址,開始安裝LeadShop。首先訪問到的是安裝協(xié)議頁面。(2)環(huán)境及目錄權(quán)限檢查過程如圖。單擊“同意并繼續(xù)”按鈕,開始檢查安裝環(huán)境,進入安裝向?qū)ы撁?。安裝目錄檢測一切正常,單擊“下一步”按鈕4.安裝LeadShop系統(tǒng)8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)(3)進入?yún)?shù)配置頁面,開始填寫MySQL數(shù)據(jù)庫和網(wǎng)站管理員信息。(4)數(shù)據(jù)庫安裝成功之后,顯示安裝成功的頁面。需要注意數(shù)據(jù)庫的信息要填寫之前設(shè)置的用戶及密碼,必須保證填寫信息的真實性,否則無法連接到數(shù)據(jù)庫。填寫完成后,單擊“繼續(xù)”按鈕,即可開始安裝。至此,LeadShop安裝完成,單擊“進入管理后臺”按鈕輸入網(wǎng)站管理員信息4.安裝LeadShop系統(tǒng)8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)(5)輸入網(wǎng)站管理員信息,即可登錄網(wǎng)站。(6)進入LeadShop商城后臺。單擊“登錄”按鈕4.安裝LeadShop系統(tǒng)8.2

部署LeadShop網(wǎng)站8.2.3

上線LeadShop商城系統(tǒng)(7)將web1的/webdir/leadshop-master目錄拷貝給web2,使得web集群將數(shù)據(jù)存儲到同一個數(shù)據(jù)庫中。(8)輸入web2的IP地址,會直接訪問到登錄首頁。[root@web1~]#scp-r/webdir/leadshop-masterroot@31:/webdir/至此,web集群已經(jīng)成功上線網(wǎng)站業(yè)務(wù)。8.3資源共享在NFS服務(wù)器中開啟共享服務(wù)在Web服務(wù)器中使用共享服務(wù)測試共享數(shù)據(jù)在Web服務(wù)器成功上線商城系統(tǒng)后,所有的資源都存儲于Web服務(wù)器及其連接的第三方數(shù)據(jù)庫中。要想實現(xiàn)動靜態(tài)資源分離處理,需要將商城系統(tǒng)的靜態(tài)請求進行資源調(diào)用。也就是Web服務(wù)器對用戶請求進行應(yīng)答時,需要調(diào)用系統(tǒng)中的一些靜態(tài)數(shù)據(jù)。在此先將解壓完成的商城數(shù)據(jù)發(fā)送至共享存儲NFS服務(wù)器一份,再將Web服務(wù)器中的靜態(tài)資源文件通過NFS共享至Web服務(wù)器。這樣一來,當(dāng)靜態(tài)資源文件發(fā)生變化時,將直接改變Web服務(wù)器中的靜態(tài)資源文件。8.3

資源共享8.3

資源共享8.3.1

在NFS服務(wù)器中開啟共享服務(wù)[root@nfs~]#yum-yinstallnfs-utilsrpcbind……省略安裝過程……Installed:nfs-utils.x86_641:1.3.0-0.68.el7.2rpcbind.x86_640:0.2.0-49.el7[root@nfs~]#systemctlstartnfs-server[root@nfs~]#systemctlenablenfs-server[root@nfs~]#systemctlstartrpcbind[root@nfs~]#systemctlenablerpcbind1.首先在NFS服務(wù)器中下載并安裝NFS,啟動該項服務(wù),并設(shè)置其開機自啟。[root@nfs~]#mkdir-p/leadshop/web2.網(wǎng)設(shè)置完成后,新建商城網(wǎng)站存放目錄/leadshop/web,用于接收Web服務(wù)器上安裝完成的論壇網(wǎng)站數(shù)據(jù)。8.3

資源共享8.3.1

在NFS服務(wù)器中開啟共享服務(wù)[root@qfedu~]#vim/etc/exports/webdir/leadshop-master/web/img//24(rw,all_squash,anonuid=0,insecure)/webdir/leadshop-master/web/static//24(rw,all_squash,anonuid=0,insecure)3.創(chuàng)建完成后,編輯/etc/exports文件,設(shè)置服務(wù)器共享規(guī)則。在LeadShop論壇系統(tǒng)中,leadshop-master/web/img文件夾及l(fā)eadshop-master/web/static文件存儲靜態(tài)資源,故需設(shè)置這兩個文件夾為共享文件夾即可,共享對象為Web服務(wù)器。[root@nfs~]#exportfs-rvexporting/24:/webdir/leadshop-master/web/staticexporting/24:/webdir/leadshop-master/web/img4.本項目中的web1和web2在同一網(wǎng)段,客戶端地址寫其所在的網(wǎng)段即可。一般修改NFS配置文檔后,無需重啟NFS,直接執(zhí)行exportfs-rv命令即可使修改的/etc/exports生效。8.3

資源共享8.3.2

在Web服務(wù)器中使用共享服務(wù)[root@web1~]#scp-r/webdir/leadshop-master/web/*29:/leadshop/web/1.首先將Web服務(wù)器中的靜態(tài)數(shù)據(jù)發(fā)送至NFS服務(wù)器一份,使得NFS服務(wù)器存有相關(guān)數(shù)據(jù),方便后續(xù)操作。#web1[root@web1~]#yum-yinstallnfs-utilsrpcbind[root@web1~]#systemctlstartnfs[root@web1~]#systemctlstartrpcbind[root@web1~]#systemctlenablenfs[root@web1~]#systemctlenablerpcbind#web2[root@web2~]#yum-yinstallnfs-utilsrpcbind[root@web2~]#systemctlstartnfs[root@web2~]#systemctlstartrpcbind[root@web2~]#systemctlenablenfs[root@web2~]#systemctlenablerpcbind2.發(fā)送完成后,在Web服務(wù)器中下載并安裝NFS服務(wù),啟動該項服務(wù),并設(shè)置其開機自啟。8.3

資源共享8.3.2

在Web服務(wù)器中使用共享服務(wù)[root@nfs~]#showmount-e29Exportlistfor29:/webdir/leadshop-master/web/static/24/webdir/leadshop-master/web/img/243.設(shè)置完成后,查看NFS服務(wù)器共享出來的目錄。#web1[root@web1~]#mount29:/webdir/leadshop-master/web/img//webdir/leadshop-master/web/img/[root@web1~]#mount29:/webdir/leadshop-master/web/static//webdir/leadshop-master/web/static/#web2[root@web2~]#mount29:/webdir/leadshop-master/web/img//webdir/leadshop-master/web/img/[root@web2~]#mount29:/webdir/leadshop-master/web/static//webdir/leadshop-master/web/static/4.從查詢結(jié)果可以看到,當(dāng)前可用的共享文件目錄/webdir/leadshop-master/web/static、/webdir/leadshop-master/web/img,接下來繼續(xù)在Web服務(wù)器上掛載共享目錄。至此,w注意:直接用mount方式進行掛載,重啟后就會失效。eb集群已經(jīng)成功上線網(wǎng)站業(yè)務(wù)。8.3

資源共享8.3.2

在Web服務(wù)器中使用共享服務(wù)#web1[root@web1~]#vim/etc/fstab29:/webdir/leadshop-master/web/img//webdir/leadshop-master/web/img/nfsdefaults0029:/webdir/leadshop-master/web/static//webdir/leadshop-master/web/static/nfsdefaults00#web2[root@web2~]#vim/etc/fstab29:/webdir/leadshop-master/web/img//webdir/leadshop-master/web/img/nfsdefaults0029:/webdir/leadshop-master/web/static//webdir/leadshop-master/web/static/nfsdefaults005.一般企業(yè)工作中推薦使用配置文件的方式,使其開機自動掛載,編輯/etc/fstab文件,編輯掛載命令后保存即可。[root@web1~]#mount-a[root@web2~]#mount-a6.配置完成后,輸入mount-a使/etc/fstab中的內(nèi)容重新加載,自動掛載共享目錄。8.3

資源共享8.3.2

在Web服務(wù)器中使用共享服務(wù)[root@web1~]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/mapper/centos-root17G4.1G13G24%/devtmpfs475M0475M0%/devtmpfs487M0487M0%/dev/shmtmpfs487M7.7M479M2%/runtmpfs487M0487M0%/sys/fs/cgroup/dev/sda11014M133M882M14%/boottmpfs98M098M0%/run/user/029:/webdir/leadshop-master/web/img17G1.4G16G9%/webdir/leadshop-master/web/img29:/webdir/leadshop-master/web/static17G1.4G16G9%/webdir/leadshop-master/web/static7.配置完成后,查看動態(tài)Web服務(wù)器的掛載信息,查詢命令及結(jié)果如下。通過系統(tǒng)的反饋信息可以看到,目標(biāo)文件夾均已成功掛載。8.3

資源共享8.3.3

測試共享數(shù)據(jù)[root@nfs~]#vim/webdir/leadshop-master/web/static/test.html數(shù)據(jù)共享測試頁面!1.資源共享部署完成后,測試靜態(tài)文件能不能在各Web服務(wù)器之間達成共享。首先在NFS服務(wù)器的網(wǎng)站靜態(tài)資源文件夾中編寫測試文件test.html。2.編寫完成后,NFS服務(wù)器現(xiàn)已存有相關(guān)數(shù)據(jù),在Web服務(wù)器端對該資源進行訪問。瀏覽器訪問web1的IP,訪問界面。8.3

資源共享8.3.3

測試共享數(shù)據(jù)3.瀏覽器訪問web2的IP,訪問界面??梢钥闯?,盡管文件只在NFS服務(wù)器中進行寫入,但因為不同的Web服務(wù)器之間對靜態(tài)資源文件夾進行共享,共享系統(tǒng)中的動態(tài)Web服務(wù)器也可以直接獲取共享文件夾內(nèi)的資源,返回給用戶,資源共享配置成功。同理,若用戶與Web服務(wù)器進行交互,產(chǎn)生的動態(tài)數(shù)據(jù)將寫入數(shù)據(jù)庫,靜態(tài)數(shù)據(jù)將寫入共享的靜態(tài)文件夾,兩臺Web服務(wù)器都可以訪問。8.4部署Nginx七層負(fù)載安裝Nginx配置負(fù)載均衡測試負(fù)載均衡8.4

部署Nginx七層負(fù)載#nginx1[root@nginx1~]#yum-yinstallepel-release[root@nginx1~]#yum-yinstallnginx#nginx2[root@nginx2~]#yum-yinstallepel-release[root@nginx2~]#yum-yinstallnginx1.為準(zhǔn)備的2臺Nginx七層負(fù)載均衡器安裝Nginx軟件?,F(xiàn)階段,商城網(wǎng)站已部署完成,可以正常對外提供服務(wù)。為了能更好地處理用戶的請求,現(xiàn)對用戶請求實行“人性化”的管理,分發(fā)流量加快處理效率,此處選擇Nginx部署七層代理,控制流量負(fù)載均衡及反向代理功能,并實現(xiàn)“人性化”管理。8.4

部署Nginx七層負(fù)載[root@nginx1~]#vim/etc/nginx/nginx.conf#注意更改的位置!!!http{······此處省略部分代碼······server{······此處省略部分代碼······#引用服務(wù)器組location/{proxy_passhttp://html;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerREMOTE-HOST$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}······此處省略部分代碼······}#配置服務(wù)器組upstreamhtml{ server30:80weight=5; server31:80weight=5;}}2.安裝Nginx后,編輯其配置文件/etc/nginx/nginx.conf,添加相關(guān)的服務(wù)器組。8.4

部署Nginx七層負(fù)載[root@nginx2~]#vim/etc/nginx/nginx.conf#注意更改的位置!!!http{······此處省略部分代碼······server{······此處省略部分代碼······#引用服務(wù)器組location/{proxy_passhttp://html;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerREMOTE-HOST$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}······此處省略部分代碼······}#配置服務(wù)器組upstreamhtml{ server30:80weight=5; server31:80weight=5;}}2.安裝Nginx后,編輯其配置文件/etc/nginx/nginx.conf,添加相關(guān)的服務(wù)器組。8.4

部署Nginx七層負(fù)載#nginx1[root@nginx1~]#systemctlstartnginx[root@nginx1~]#systemctlenablenginx#nginx2[root@nginx2~]#systemctlstartnginx[root@nginx2~]#systemctlenablenginx3.配置完成后啟動Nginx,并設(shè)置為開機自啟。4.使用Windows瀏覽器訪問Nginx負(fù)載均衡器的IP可訪問web集群。8.4

部署Nginx七層負(fù)載[root@web1nginx]#tail-f/var/log/nginx/access.log5.在web1和web2使用tail命令加-f參數(shù)可動態(tài)查看正在修改的文件。6.也可以通過網(wǎng)頁測試工具Elinks,進行訪問測試。首先在web1和web2上創(chuàng)建測試文件nginx_test.html。強制刷新瀏覽器,再次訪問網(wǎng)站,可通過訪問web1和web2的access.log查看客戶端請求的信息。[root@web1~]#vim/webdir/leadshop-master/web/nginx_test.htmlWeb1[root@web2~]#vim/webdir/leadshop-master/web/nginx_test.htmlWeb28.4

部署Nginx七層負(fù)載7.在客戶端服務(wù)器安裝Elinks工具,具體命令及訪問nginx1結(jié)果如下。[root@qfedu~]#yum-yinstallelinks[root@qfedu~]#elinks--dump33:/nginx_test.htmlweb1[root@qfedu~]#elinks--dump33:/nginx_test.htmlweb2[root@qfedu~]#elinks--dump33:/nginx_test.htmlweb1[root@qfedu~]#elinks--dump33:/nginx_test.htmlweb2[root@qfedu~]#elinks--dump33:/nginx_test.htmlweb1[root@qfedu~]#elinks--dump33:/nginx_test.htmlweb2Nginx做七層負(fù)載實現(xiàn)了正確的分發(fā)請求,后端的服務(wù)器也可以正常地進行應(yīng)答,返回預(yù)料頁面,系統(tǒng)運行正常。8.4

部署Nginx七層負(fù)載8.在客戶端使用Elinks工具繼續(xù)訪問nginx2,具體命令及訪問結(jié)果如下。[root@qfedu~]#elinks--dump35:/nginx_test.htmlweb1[root@qfedu~]#elinks--dump35:/nginx_test.htmlweb2[root@qfedu~]#elinks--dump35:/nginx_test.htmlweb1[root@qfedu~]#elinks--dump35:/nginx_test.htmlweb2[root@qfedu~]#elinks--dump35:/nginx_test.htmlweb1至此,兩臺七層負(fù)載均衡器均已成功部署。通過本節(jié)項目步驟可以看到,一臺負(fù)載均衡器就可以滿足實驗需求,那為什么部署兩臺呢?一般情況下,為防止服務(wù)器出現(xiàn)單點故障,為其做備份是最好的選擇。配置與服務(wù)器A完全一樣的服務(wù)器B,當(dāng)服務(wù)器A出現(xiàn)故障時,立馬使用服務(wù)器B替換服務(wù)器A進行工作,保證業(yè)務(wù)的穩(wěn)定性。此處可以考慮在本書中介紹過的高可用軟件Keepalived,也可以考慮使用Heartbeat實現(xiàn)高可用或市面其他可供選擇的高可用軟件,感興趣的讀者可以自行研究。本實驗系統(tǒng)將通過LVS實現(xiàn)兩臺Nginx的調(diào)度及高可用,具體內(nèi)容將會在下一小節(jié)中介紹。8.5部署LVS四層負(fù)載部署四層負(fù)載及其高可用配置七層負(fù)載均衡器測試服務(wù)可用性為了解決七層負(fù)載均衡器成為性能瓶頸,充分發(fā)揮備份服務(wù)器的作用。現(xiàn)在為網(wǎng)站配置四層負(fù)載均衡服務(wù)器,一方便解決流量分發(fā)的問題,另一方面為8.4中兩臺Nginx實現(xiàn)高可用,一臺宕機時,另一臺可以馬上替補,使網(wǎng)站系統(tǒng)可以高效運轉(zhuǎn)。為了保證七層負(fù)載均衡器不會成為網(wǎng)站的性能瓶頸,設(shè)計使用兩臺服務(wù)器實現(xiàn)四層負(fù)載均衡的功能,同時為它們配置Keepalived,保證四層負(fù)載均衡服務(wù)器的高可用。8.5

部署LVS四層負(fù)載按照項目說明,使用IP為36(lvs1)和IP為37(lvs2)的服務(wù)器實現(xiàn)四層負(fù)載均衡。此處默認(rèn)36為主LVS,37為從LVS。首先在主LVS上部署四層負(fù)載均衡功能。1.在主LVS上按照配置Keepalived8.5.1

部署四層負(fù)載及其高可用8.5

部署LVS四層負(fù)載實現(xiàn)四層負(fù)載均衡功能需要安裝ipvsadm管理工具,實現(xiàn)兩臺四層負(fù)載均衡服務(wù)器的高可用需要軟件Keepalived,這里同時下載兩個軟件[root@qfedu~]#yum-yinstallipvsadmkeepalived2.修改主LVS的配置文件下載完成后,修改Keepalived配置文件,設(shè)置虛擬網(wǎng)站對外提供服務(wù)的虛擬IP為50,將兩臺七層負(fù)載均衡器加入LVS的輪詢隊伍,設(shè)置輪詢算法為Round-Robin,修改完成后的配置文件內(nèi)容。[root@bogon~]#cat/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{

router_idlvs-01 }

vrrp_instanceVI_1{

stateMASTER interfaceens33 virtual_router_id51

priority150

advert_int1 authentication{ auth_typePASS auth_pass1111 } virtual_ipaddress{ 50/24devens33 } }8.5.1

部署四層負(fù)載及其高可用8.5

部署LVS四層負(fù)載

virtual_server5080{ delay_loop3 lb_algorr lb_kindDR protocolTCP real_server3380{ weight1 TCP_CHECK{ connect_timeout3 } } real_server3580{ weight1 TCP_CHECK{ connect_timeout3 } }}3.在從LVS上按照配置Keepalived與主LVS相同,在從LVS上安裝ipvsadm管理工具及Keepalived。[root@qfedu~]#yum-yinstallipvsadmkeepalived8.5.1

部署四層負(fù)載及其高可用8.5

部署LVS四層負(fù)載4.修改從LVS的配置文件與主LVS相同,在從LVS中修改Keepalived配置文件,設(shè)置虛擬網(wǎng)站對外提供服務(wù)的虛擬IP為50優(yōu)先級略低于主LVS。將兩臺七層負(fù)載均衡器加入LVS的輪詢隊伍,設(shè)置輪詢算法為Round-Robin,修改完成后的配置文件內(nèi)容。[root@lvs2~]#cat/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{

router_idlvs-02 }

vrrp_instanceVI_1{

stateBACKUP

interfaceens33

virtual_router_id51

priority100

advert_int1 authentication{ auth_typePASS auth_pass1111 } virtual_ipaddress{ 50/24devens33 } }8.5.1

部署四層負(fù)載及其高可用8.5

部署LVS四層負(fù)載

virtual_server5080{ delay_loop3 lb_algorr lb_kindDR protocolTCP real_server3380{ weight1 TCP_CHECK{ connect_timeout3 } } real_server3580{ weight1 TCP_CHECK{ connect_timeout3 } }}5.主從服務(wù)器同時啟動Keepalived#lvs1[root@lvs1~]#systemctlstartkeepalived[root@lvs2~]#systemctlenablekeepalived#lvs2[root@lvs1~]#systemctlstartkeepalived[root@lvs2~]#systemctlenablekeepalived8.5.1

部署四層負(fù)載及其高可用8.5

部署LVS四層負(fù)載兩臺LVS的配置文件修改完成后,同時啟動Keepalived并設(shè)置其開機自啟。6.重啟服務(wù)器[root@qfedu~]#reboot之后重啟服務(wù)器,使配置文件生效。在8.5.1中已將四層負(fù)載均衡器及高可用服務(wù)部署完成,并且將兩臺七層負(fù)載均衡器加入輪詢隊伍。接下來,配置七層負(fù)載均衡與四層負(fù)載均衡通信。兩臺七層負(fù)載均衡器配置的方式相同,故以下操作需要分別在兩臺七層負(fù)載均衡器上各完成一遍。1.確定服務(wù)可用四層負(fù)載均衡器根據(jù)負(fù)載策略將請求分派給不同的七層負(fù)載均衡器進行處理,若被分配到的七層負(fù)載均衡器并沒有七層負(fù)載均衡的功能,便失去了分派的意義。故輪詢隊伍中的七層負(fù)載均衡器應(yīng)首先保證負(fù)載功能可用。該項目用到的兩臺七層負(fù)載均衡器已在8.4小節(jié)中做過相關(guān)測試,服務(wù)可用,故此處進行下一步即可。8.5.2

配置七層負(fù)載均衡器8.5

部署LVS四層負(fù)載2.配置虛擬地址(1)為七層負(fù)載均衡服務(wù)器配置虛擬網(wǎng)絡(luò)地址,用于與LVS設(shè)備進行通信,將VIP配置在物理網(wǎng)卡的子接口上,本實驗的VIP設(shè)置為50。8.5.2

配置七層負(fù)載均衡器8.5

部署LVS四層負(fù)載[root@nginx1~]#yum-yinstallnet-tools[root@nginx1~]#ifconfigens33:050broadcast55netmaskup2.配置虛擬地址(2)查看網(wǎng)絡(luò)接口和網(wǎng)卡信息。8.5.2

配置七層負(fù)載均衡器8.5

部署LVS四層負(fù)載[root@nginx1~]#ipa1: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:4c:05:92brdff:ff:ff:ff:ff:ffinet33/24brd55scopeglobalnoprefixrouteens33valid_lftforeverpreferred_lftforeverinet50/24brd55scopeglobalsecondaryens33:0valid_lftforeverpreferred_lftforever3.配置路由[root@nginx1~]#routeadd-host50devens33:08.5.2

配置七層負(fù)載均衡器8.5

部署LVS四層負(fù)載(1)在七層負(fù)載均衡服務(wù)器上,給ens33:0添加路由,確保如果請求的目標(biāo)IP是$VIP,那么讓出去的數(shù)據(jù)包的源地址也顯示為$VIP。[root@nginx1~]#cat/etc/rc.local|tail-1/sbin/routeadd-host50devlo:0(2)為了防止重啟失效,追加如下內(nèi)容至開機自啟文件中。4.配置ARP[root@nginx1~]#cat/etc/sysctl.confnet.ipv4.conf.all.arp_ignore=1net.ipv4.conf.all.arp_announce=2net.ipv4.conf.default.arp_ignore=1net.ipv4.conf.default.arp_announce=2net.ipv4.conf.lo.arp_ignore=1net.ipv4.conf.lo.arp_announce=28.5.2

配置七層負(fù)載均衡器8.5

部署LVS四層負(fù)載(1)配置ARP,在/etc/sysctl.conf文件中編輯代碼,忽略ARP請求。即用戶直接對該服務(wù)器進行訪問,該服務(wù)器不會應(yīng)答,但是當(dāng)收到LVS分配的請求時,可以使用50的身份進行回復(fù)。[root@nginx1~]#sysctl-pnet.ipv4.conf.all.arp_ignore=1net.ipv4.conf.all.arp_announce=2net.ipv4.conf.default.arp_ignore=1net.ipv4.conf.default.arp_announce=2net.ipv4.conf.lo.arp_ignor

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論