亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux負載均衡集群技術在網絡服務器中的應用

        2017-01-21 16:10:11孔祥真張丁李忠遠
        軟件導刊 2016年12期
        關鍵詞:負載均衡集群

        孔祥真+張丁+李忠遠

        摘 要:調研了目前市場占有率比較高的Unix和Linux服務器應用現狀,重點研究了Linux集群技術,并在校園網絡平臺的搭建中使用了Nginx負載均衡技術。分析Linux小型機集群方案的可行性,以及Nginx反向代理技術對于解決網絡服務器高負荷、高流量、不穩(wěn)定等問題的優(yōu)勢,并部署了Nginx服務器和Tomcat服務器集群,為學校提供了一個高可用、高并發(fā)、高穩(wěn)定且廉價的服務器解決方案。

        關鍵詞:Linux;負載均衡;網絡服務器;集群;Ngnix

        DOIDOI:10.11907/rjdk.162633

        中圖分類號:TP393

        文獻標識碼:A文章編號:1672-7800(2016)012-0144-03

        0 引言

        隨著網絡技術的發(fā)展,對于服務器的需求量也隨之劇增。除了Unix系統(tǒng),作為類Unix系統(tǒng)的Linux操作系統(tǒng)近年來也倍受青睞。最近,著名雜志《網絡世界》進行了一次調查,其經由多種渠道搜集了來自各行各業(yè),也包括政府機構IT部門的Linux操作系統(tǒng)在產業(yè)中的應用情況,以此預知Linux在未來應用領域的發(fā)展趨勢。調查結果表明,Linux有著非常好的應用前景,近64.5%以上的負責人計劃將Linux應用于Web服務器。Unix大型機固然有較為明顯的性能優(yōu)勢,然而近期市場占有率有下降的趨勢。

        以目前Web服務器應用較多的Nginx技術為支持,構建Linux小型機集群替代Unix大型機,以盡可能地降低服務器成本。本文首先探討服務器集群技術,分析負載均衡集群的算法策略與工作原理,然后在校園服務器網絡平臺的搭建中,運用該技術部署Tomcat服務器集群和Nginx服務器,并采用Nginx反向代理的關鍵字命名規(guī)則進行整合,搭建一個具有較強穩(wěn)定性與可用性的校園網絡服務器。

        1 Nginx及其相關技術

        1.1 Nginx

        Nginx可作為輕量級的Web服務器、反向代理服務器及電子郵件代理服務器使用,由俄羅斯的程序設計師Igor Sysoev開發(fā)。其占有內存少、并發(fā)性能好,并發(fā)能力優(yōu)于同類網頁服務器。目前,我國使用Nginx的網站用戶包括百度、新浪、京東、網易、騰訊、淘寶等知名網站。Nginx作為一款較為實用的Web服務器,與其它Web服務器相比具有以下優(yōu)點[1]:①支持網絡請求高并發(fā)。據官方統(tǒng)計,其每秒能處理5萬靜態(tài)網頁請求;②反向代理性能優(yōu)越,通常被用于負載均衡;③CPU與內存占用率低。官方統(tǒng)計數據顯示,其占用率僅為Apache的1/5~1/10;④對于php可使用cgi與fastcgi方式。

        1.2 正向代理與反向代理

        (1)正向代理(Forward Proxy)。通常所說的代理技術指正向代理技術。正向代理的定義如下:一個位于客戶端的用戶A、服務器B、位于A和B之間的代理服務器Z,用戶A要從服務器B取得用戶請求的內容,可以通過代理服務器Z發(fā)送請求并指定目標是服務器B,由代理服務器Z向目標服務器B轉交請求,獲得的內容返回客戶端A。也即是說,正向代理就是代理服務器替代客戶端用戶A來訪問服務器B。

        (2)反向代理(Reverse Proxy)。在反向代理時,對于客戶端而言,代理服務器如同原始資源服務器,客戶端用戶不需要進行任何設置??蛻舳讼蚍聪虼淼拿臻g發(fā)送連接請求,然后服務器Z判斷向何處轉交連接請求,并將獲得的內容返回給客戶端的用戶A。用戶A會感覺其請求的是原始資源服務器,而不是反向代理服務器Z。

        二者區(qū)別為:①正向代理能夠讓帶有防火墻的局域網用戶訪問外部互聯網;②反向代理將防火墻后面的服務器提供給用戶訪問,還能為后端的多臺服務器提供負載平衡,或者為后端多臺性能不均的服務器提供權重服務;③正向代理使客戶端通過其可以訪問任意網站且隱藏本身,因此必須采取相應的安全措施,以確保僅為授權有保證的互聯網客戶端提供網絡服務。

        1.3 負載均衡技術

        負載均衡(Load Balance)是建立在網絡結構上的一種廉價、有效方法,它可以擴展網絡設備帶寬,增加吞吐量,增強網絡并發(fā)處理數據的能力,提高網絡的可用性和靈活性。Nginx支持3種負載均衡策略:①輪詢:請求依次輪詢每個服務器;②最少鏈接:請求發(fā)送給持有最少活動鏈接的服務器;③IP哈希:請求通過哈希函數決定發(fā)送給哪個服務器。

        1.4 集群

        集群是由一組獨立的計算機系統(tǒng)構成的松耦合多處理器系統(tǒng)[2],通過網絡實現進程間的通信。目前,實現分布式計算機集群的技術有負載均衡集群、高可用集群和科學計算集群。本文重點介紹負載均衡集群。負載均衡集群由兩臺或兩臺以上服務器組成,分前端負載調度和后端服務兩部分??蛻舳擞脩舻倪B接請求由前端依據負載均衡策略分配給后端服務器,后端服務器應答請求,并將請求內容返回用戶。因而可知,后端服務器是客戶端真正請求內容的服務器。與高可用服務集群不同,在負載均衡集群中,所有后端服務器都處于工作狀態(tài),都有可能對前端服務器的請求進行應答。

        Nginx是利用反向代理服務器來實現負載均衡。如果學校采用Nginx作為Web服務器,可以阻擋外來黑客攻擊,保證數據的安全性與網頁內容的穩(wěn)定性,還可有效解決網頁打開速度慢、網頁內容請求不到等問題,使學生能夠更加方便快捷地訪問學校網頁。另外,使用負載均衡策略還可有效解決服務器資源浪費等問題。

        2 Nginx代理服務器搭建

        在Linux的Centos 7系統(tǒng)中搭建Nginx Web應用代理服務器[3],服務器集群架構分為前端和后端服務器[4-6]。前端Nginx服務器的IP為192.168.1.2,后端為Tomcat服務器,IP分別為192.168.1.4、192.168.1.5、192.168.1.6。其工作過程為:客戶端瀏覽器發(fā)送請求,前端Nginx負載均衡服務器得到請求后,依據相應的負載均衡調度算法,將請求發(fā)送給后端Tomcat服務器。Tomcat服務器收到請求后進行響應,并將請求內容轉發(fā)給Nginx服務器,最后Nginx服務器將響應內容發(fā)送給客戶端用戶瀏覽器,其拓撲圖如圖1所示。具體配置為:

        系統(tǒng)環(huán)境: RHEL7 Linux

        Web服務器: 192.168.1.2 Nginx

        192.168.1.4 Tomcat1

        192.168.1.5Tomcat2

        192.168.1.6 Tomcat3

        2.1 Nginx Web服務器安裝與使用

        (1)安裝Nginx所需要的依賴包:yum -y install gcc gcc-c++ make libtool* zlib* openssl openssl-devel pcre pcre-devel。

        Nginx需要以下3個依賴包:zlib-1.2.8.tar.gz、pcre-8.21.tar.gz和openssl-1.0.1.tar.gz。

        (2)啟動Nginx。

        [root@xixy ~]# /usr/local/nginx/sbin/nginx

        然后啟動nginx,/usr/local/nginx/sbin/nginx 回車即可。查看進程是否已啟動:

        [root@xixy~]# ps -ef |grep nginx

        在瀏覽器輸入192.168.1.2后,出現下面的圖片文字,則說明Nginx服務器安裝成功。

        (3)重啟或關閉Nginx進程:

        [root@xixy~]# /usr/local/nginx/sbin/nginx?-s reload

        [root@xixy~]# /usr/local/nginx/sbin/nginx -s stop

        (4)將Nginx添加到開機啟動:

        [root@xixy~]# echo"/usr/local/nginx/sbin/nginx">>/etc/rc.d/rc.local

        2.2 Tomcat Web服務器安裝與使用

        Tomcat是網頁應用服務器,主要功能是用于解析動態(tài)頁面,常與Apache服務器和Nginx服務器配合搭建整個Http服務器端。Tomcat目前的最新版本為9.0。Tomcat主要用來解析JSP語言,所以安裝Tomcat之前需要安裝JDK (Java Development Kit),JDK是Java 語言的軟件開發(fā)工具包。

        IP:192.168.1.4 Tomcat Web 服務器的安裝過程如下:

        (1)安裝JDK。

        (2)安裝Tomcat1。首先,在官網下載Tomcat,這里下載的是apache-tomcat-7.0.27.tar.gz,下載完后解壓:

        [root@xixy2 ~]# tar xf apache-tomcat-7.0.27.tar.gz

        [root@xixy2 ~]# mv apache-tomcat-7.0.27 /usr/local/tomcat

        然后,啟動Tomcat,命令為:

        [root@xixy2 ~]# /usr/local/tomcat/bin/startup.sh

        通過命令ps-ef |grep tomcat 查看進程及端口是否存在,在瀏覽器中輸入http://192.168.1.4:8080,還可以通過頁面訪問Tomcat默認測試頁面。

        最后,關閉Tomcat,命令為:

        [root@xixy2 ~]# /usr/local/tomcat/bin/shutdown.sh

        (3)安裝IP為192.168.1.4 的Tomcat Web服務器。

        (4)安裝IP為192.168.1.6 的Tomcat Web 服務器。

        2.3 Nginx Web與Tomcat Web服務器配置和整合

        2.3.1 Nginx服務器配置

        (1)編輯nginx.conf配置文件:

        [root@xixy ~]# vim /usr/local/nginx/conf/nginx.conf

        (2)指定負載均衡方式:

        upstream tomcat {

        server 192.168.1.4:8080;

        server 192.168.1.5:8080;

        server 192.168.1.6 :8080;

        }

        server {

        listen 80;

        server_name localhost;

        location / {

        root html;

        index index.html index.htm index.php;

        proxy_pass http://tomcat;

        }

        location ~ .*\.(php|jsp|cgi)?$ {

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://tomcat;}}

        }

        2.3.2 Tomcat Web服務器配置

        (1)IP:192.168.1.4 Tomcat Web服務器。

        創(chuàng)建自己的網頁發(fā)布目錄,執(zhí)行以下命令:

        [root@xixy2 ~]# mkdir -p /usr/webapps/www

        編輯vim /usr/local/tomcat/conf/server.xml,在最后前一行加以下內容:

        Tomcat發(fā)布目錄內容:

        [root@xixy2]# vim index.jsp

        測試01

        <%@ page contentType="text/html;charset=utf-8"%>

        (2)IP:192.168.1.5 Tomcat Web 服務器。

        創(chuàng)建自己的網頁發(fā)布目錄,執(zhí)行以下命令:

        [root@xixy3 ~]# mkdir -p /usr/webapps/www

        編輯vim /usr/local/tomcat/conf/server.xml,在最后前一行加以下內容:

        Tomcat發(fā)布目錄內容:

        [root@xixy3 www]# vim index.jsp

        測試02

        <%@ page contentType="text/html;charset=utf-8"%>

        (3)IP:192.168.1.6 Tomcat Web 服務器。

        創(chuàng)建自己的網頁發(fā)布目錄,執(zhí)行以下命令:

        [root@xixy4 ~]# mkdir -p /usr/webapps/www

        編輯vim /usr/local/tomcat/conf/server.xml,在最后前一行加以下內容:

        Tomcat發(fā)布目錄內容:

        [root@xixy4 www]# vim index.jsp

        測試03

        <%@ page contentType="text/html;charset=utf-8"%>

        2.4 性能測試

        (1)在進行性能測試時,記錄了運行時間。本記錄中選取響應時間最長和最短的客戶端訪問請求進行記錄。

        (2)響應時間指客戶端發(fā)出請求到服務器,服務器接受請求,并處理該請求的響應時間,時間單位為毫秒。

        在并發(fā)量為100個用戶以內時,系統(tǒng)運行正常,即各頁面訪問操作正常。隨著并發(fā)訪問用戶達到120時,服務器壓力變大,大約有一半以上的事務響應時間超過腳本的等待時間,導致訪問失敗,頁面出現錯誤。

        對上述涉及的問題進行優(yōu)化,可從以下幾個方面考慮:

        ①調整中間件參數設置,以達到最優(yōu)狀態(tài)。目前該項工作正在進行調整及測試優(yōu)化;

        ②在有條件的情況下,建議將數據庫服務器與Web服務器分離[7-8],使其分工更加明確,保證運行效率,同時安全性更高;

        ③面對高并發(fā)的狀況,即便增加硬件,系統(tǒng)仍會存在訪問瓶頸。為了更好地適應訪問需求,在條件允許的情況下,可對現有系統(tǒng)的軟件方面進行架構改造,比如引進高性能、分布式的緩存系統(tǒng)等。

        3 結語

        本文基于Nginx負載均衡各項策略的工作原理和集群相關技術,設計了一個負載均衡的服務器集群,搭建了校園網絡服務器。詳述了網絡服務器的安裝和配置步驟,實現了網絡請求內容的反向代理,從而提高了學校網站的訪問速度、穩(wěn)定性和安全性。當然,對于一個真正的大型網絡服務器,還有許多可改進的地方,比如服務器高可用、動態(tài)頁面和靜態(tài)頁面分離、服務器緩存、URL重寫等方面。后續(xù)還會在此基礎上針對平臺的相關問題進行改進,以減少服務器使用過程中的諸多困擾。

        參考文獻:

        [1] [美]KARLKOPPER.Linux企業(yè)集群:用商用硬件和免費軟件構件高可用集群[M].北京:水利水電出版社,2007.

        [2] 高俊峰.循序漸進——Linux基礎知識、服務器搭建、系統(tǒng)管理、性能調優(yōu)、集群應用[M].北京:人民郵電出版社,2009.

        [3] 楊永健.反向代理軟件SQUID在高校圖書館中的應用[J].四川圖書館學報, 2007(3):59-62.

        [4] 李智慧.大型網站技術架構:核心原理與案例分析[M].北京:電子工業(yè)出版社,2013.

        [5] 陳小全,張繼紅.Linux服務器架設、性能調優(yōu)、集群管理教程——實訓與項目案例[M].北京:北京郵電大學出版社,2011.

        [6] [法]CLEMENT NEDELCU.學習Nginx HTTP Server(中文版)[M].北京:清華大學出版社,2012.

        [7] 伍云輝.Linux服務器配置與管理指南[M].北京:清華大學出版社,2010:1-5.

        [8] 張宴.實戰(zhàn) Nginx:取代Apache的高性能Web服務器[M].北京:電子工業(yè)出版社,2010:3-10.

        [9] 木太里甫艾山.Linux環(huán)境下Qt庫多語言界面實現[J].軟件導刊,2016,15(5):21-23.

        (責任編輯:黃 ?。?

        猜你喜歡
        負載均衡集群
        集群式AUV可控分群控制算法
        一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設計
        電子制作(2018年11期)2018-08-04 03:25:40
        Python與Spark集群在收費數據分析中的應用
        勤快又呆萌的集群機器人
        異構環(huán)境下改進的LATE調度算法
        基于負載均衡的云資源調度策略研究
        多站點同步更新系統(tǒng)的設計
        科技視界(2016年3期)2016-02-26 20:16:57
        模糊理論在Ad hoc網絡通信領域的應用
        科技視界(2015年25期)2015-09-01 16:07:00
        免费无遮挡无码永久在线观看视频| 亚洲AⅤ樱花无码| 国产成人精品日本亚洲| 越猛烈欧美xx00动态图| 国产AⅤ无码久久丝袜美腿| 国产主播一区二区在线观看 | 久久夜色精品国产欧美乱| 黄色a级国产免费大片| 亚洲精品无码久久久久| 亚洲综合色区无码专区| 日本一区二区三区专区| 国产一区亚洲一区二区| 日本一二三四区在线观看| 观看在线人视频| 人妻体内射精一区二区三四| 亚洲色欲色欲www在线播放| 亚洲一区二区三区av在线免费| 国产精品成人有码在线观看| 亚洲一区二区三区2021| 免费a级毛片无码免费视频首页| 天天摸天天做天天爽水多| 性生交片免费无码看人| 欧美成人一区二区三区| 久热在线播放中文字幕| 亚洲乱码一区AV春药高潮| 极品视频一区二区三区在线观看| 成人av一区二区亚洲精| 久久熟妇少妇亚洲精品| 乱码1乱码2美美哒| 嫖妓丰满肥熟妇在线精品| av草草久久久久久久久久久| 国产一区二区三区蜜桃av| 国内精品亚洲成av人片| 国产精品免费av片在线观看| 永久免费av无码网站性色av| 国产成人一区二区三区免费观看| 亚洲xx视频| 亚洲综合天堂av网站在线观看| 国产精品久久av高潮呻吟| 老熟妇乱子伦牲交视频| 亚洲色成人网站www永久|