您好,登錄后才能下訂單哦!
億速云的負載均衡(Server Load Balancing)是對多臺云服務器(計算集群)進行流量分發的網絡服務設備。它可以通過流量分發,快速提高應用系統對外的服務能力;隱藏實際服務端口,增強內部系統的安全性;通過消除服務單點故障,提升應用系統的可靠性。今天億速云就給大家介紹下Nginx+Tomcat是如何實現負載均衡的
集群(Cluster)
簡單來說就是用N臺云服務器構成一個松耦合的多處理器系統(對外是一個服務器),內部通過網絡實現通信。讓N臺服務器之間相互協作,共同承載一個網站的請求壓力。用知乎上一個作者的話來說就是“同一個業務,部署在多個服務器上”,這就是集群。 集群中比較重要的是任務調度。
nginx是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器
2.內存消耗少:
在3萬并發連接下,開啟的10個Nginx 進程才消耗150M內(15M*10=150M)。
3.穩定性高:
用于反向代理,宕機的概率微乎其微
4.配置文件非常簡單:
風格跟程序一樣通俗易懂。
5.內置的健康檢查功能:
如果 Nginx Proxy 后端的某臺 Web 服務器宕機了,不會影響前端訪問。
等等優點
由于nginx的性能很好,因此國內很多大公司都在使用,最主要的原因也是nginx是開源免費的。除了上面描述的一系列功能,項目中主要用nginx來實現以下三個功能:
動靜分離:
動靜分離的原理非常簡單,我們可以將一些靜態資源html文件、圖片等交給nginx來處理,將后臺請求轉發給后臺服務器處理,由于nginx會有緩存作用,因此這樣不僅僅加快了訪問速度,而且也減小了tomcat服務器的負載。
反向代理:
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連的客戶端,此時代理服務器對外就表現為一個服務器。
負載均衡主要特點:
nginx負載均衡主要策略:
默認情況下是輪詢的策略,但是這種方式的使用有一個問題,分布式session不一致的問題,不過我們可以使用ip_hash來將同一ip地址上的請求分配到一臺服務器中處理,這樣就不會出現session不一致的問題。這個問題不是我們這篇文章討論的重點,感興趣的讀者可以自行查詢資料。
需要tomcat和nginx (前兩章博客有tomcat,nginx詳細的安裝及簡介)
安裝成功后
tomcat配置文件說明
cd /usr/local/tomcat7/conf/
catalina.policy:權限控制配置文件
catalina.properties:tomcat屬性配置文件
server.xml :主配置文件
主配置server.xml文件說明:
<Server port="8005" shutdown="SHUTDOWN">
##表示tomcat關閉端口,默認只對本機地址開放,可以再本機通過telnet 127.0.0.1 8005 對tomcat進行關閉操作
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
##tomcat 啟動的默認端口號為8080.
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
##tomcat啟動AJP1.3連接器時默認的端口號。
我們可以創建一個新的目錄,來設置默認網頁。
mkdir -p /web/webapp
cd /web/webapp
寫一個jsp的默認網頁
vim index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title> JSP test1 page</title>
</head>
<body>
<% out .println("welcom to test sits,http://www.text1.com");%>
</body>
</html>
#編輯主配置文件
vim server.xml #添加以下部分內容
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
以上內容是存在的,添加下面這一條
<Context docBase="/web/webapp" path="" reloadable="false" >
</Context>
重新啟動tomcat
/usr/local/tomcat7/bin/shutdown.sh #關閉
/usr/local/tomcat7/bin/startup.sh #啟動tomcat
訪問tomcat頁面
配置好tomcat,在配置nginx
vim /usr/local/nginx/conf/nginx.conf
在nginx.conf配置
在server中添加紅色部分內容(在localtion下添加)
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat-server; (tomcat-server是一個自定義名稱)
}
在http段中添加一下內容(最后一行的大括號上邊添加)
upstream tomcat-server {
server 192.168.3.101:8080 weight=1;
server 192.168.3.102:8080 weight=1;
}
重啟一下nginx
再次訪問(訪問的并不是tomcat,而是nginx,訪問頁面會輪詢出現tomcat的頁面。)
至此,我們就完成了對nginx負載均衡的測試。
如果大家還有什么地方需要了解的可以在億速云官網找我們的專業技術工程師的,億速云技術工程師在行業內擁有十幾年的經驗了,所以會比小編回答的更加詳細專業。億速云官網鏈接www.mlszssj.com
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。