1. 程式人生 > >部署tomcat及負載均衡群集

部署tomcat及負載均衡群集

9.png stat accept mission 搭建 獲得 mar yum倉庫 esp

Tomcat Server的組成部分

1 - Server

A Server element represents the entire Catalina servlet container. (Singleton)

2 - Service

A Service element represents the combination of one or more Connector components that share a single Engine
Service是這樣一個集合:它由一個或者多個Connector組成,以及一個Engine,負責處理所有Connector所獲得的客戶請求

3 - Connector

一個Connector將在某個指定端口上偵聽客戶請求,並將獲得的請求交給Engine來處理,從Engine處獲得回應並返回客戶
TOMCAT有兩個典型的Connector,一個直接偵聽來自browser的http請求,一個偵聽來自其它WebServer的請求
Coyote Http/1.1 Connector 在端口8080處偵聽來自客戶browser的http請求
Coyote JK2 Connector 在端口8009處偵聽來自其它WebServer(Apache)的servlet/jsp代理請求

4 - Engine

The Engine element represents the entire request processing machinery associated with a particular Service
It receives and processes all requests from one or more Connectors
and returns the completed response to the Connector for ultimate transmission back to the client
Engine下可以配置多個虛擬主機Virtual Host,每個虛擬主機都有一個域名
當Engine獲得一個請求時,它把該請求匹配到某個Host上,然後把該請求交給該Host來處理
Engine有一個默認虛擬主機,當請求無法匹配到任何一個Host上的時候,將交給該默認Host來處理

5 - Host

代表一個Virtual Host,虛擬主機,每個虛擬主機和某個網絡域名Domain Name相匹配
每個虛擬主機下都可以部署(deploy)一個或者多個Web App,每個Web App對應於一個Context,有一個Context path
當Host獲得一個請求時,將把該請求匹配到某個Context上,然後把該請求交給該Context來處理
匹配的方法是“最長匹配”,所以一個path==""的Context將成為該Host的默認Context
所有無法和其它Context的路徑名匹配的請求都將最終和該默認Context匹配

6 - Context

一個Context對應於一個Web Application,一個Web Application由一個或者多個Servlet組成
Context在創建的時候將根據配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml載入Servlet類
當Context獲得請求時,將在自己的映射表(mapping table)中尋找相匹配的Servlet類
如果找到,則執行該類,獲得請求的回應,並返回

Tomcat目錄
tomcat
|---bin Tomcat:存放啟動和關閉tomcat腳本;
|---confTomcat:存放不同的配置文件(server.xml和web.xml);
|---doc:存放Tomcat文檔;
|---lib/japser/common:存放Tomcat運行需要的庫文件(JARS);
|---logs:存放Tomcat執行時的LOG文件;
|---src:存放Tomcat的源代碼;
|---webapps:Tomcat的主要Web發布目錄(包括應用程序示例);
|---work:存放jsp編譯後產生的class文件;

-
Web應用服務器的選擇
IBM的WebSphere及Oracle的WebLogic
性能高,但價格也高
Tomcat
性價比高

Nginx+Tomcat網站拓撲架構

技術分享圖片

主機要求
使用3臺虛擬機
操作系統為CentOS 6.5 x86_64

技術分享圖片

-
配置防火墻規則

iptables  -A INPUT  -p tcp –-dport  80 –j ACCEPT
iptables  -A OUPUT  -p tcp –-sport  80 –j ACCEPT
iptables  -A INPUT  -p tcp –-sport  8080 –j ACCEPT
iptables  -A OUPUT  -p tcp –-dport  8080 –j ACCEPT

-
安裝jdk
技術分享圖片

建立就java.sh腳本
技術分享圖片

技術分享圖片

將java.sh腳本導入到環境變量。
技術分享圖片

安裝配置tomcat
解壓apache-tomcat包

技術分享圖片

啟動tomcat
技術分享圖片

在瀏覽器上測試http://localhost:8080
技術分享圖片
註意:如果想關閉tomcat,運行/usr/local/tomcat7/bin/shutdown.sh命令

建立java的web站點
建立一個web目錄,並在裏面建立一個webapp1目錄,用於存放網站文件。

技術分享圖片

建立index.jsp的測試頁面

技術分享圖片

技術分享圖片

修改tomcat的server.xml文件
在host區域裏面添加以下內容即可

技術分享圖片

技術分享圖片

關閉tomcat服務,然後再啟動
技術分享圖片

瀏覽網頁http://localhost:8080
技術分享圖片

-
搭建nginx+tomcat負載均衡群集
技術分享圖片

Tomcat1已經搭建好了tomcat2同1一樣,為了區分不同的服務器,把第二臺的網頁改為內容www.test2.com

插入centos光盤,刪除之前默認存在的幾個yum文件配置一個yum倉庫,然後安裝下面的相關軟件包
技術分享圖片

技術分享圖片

技術分享圖片

建立用戶和組,編譯安裝nginx
技術分享圖片

技術分享圖片

修改nginx配置文件,添加以下內容
首先在http{......}中加入下面代碼,設定負載均衡的服務器列表。

技術分享圖片

技術分享圖片

然後在http{......}裏面的server{......}裏面的location{......}中加入一行
技術分享圖片

測試nginx配置文件是否正確
執行/usr/local/nginx/sbin/nginx -t
出現下面的信息表示正確

啟動nginx服務

查看端口netstat -anpt | grep nginx
技術分享圖片

測試負載均衡效果
打開瀏覽器訪問http://192.168.1.#
不斷刷新瀏覽器測試,可以看到由於權重相同,頁面會反復在以下兩個頁面來回切換,說明負載均衡群集搭建成功。

技術分享圖片

技術分享圖片

部署tomcat及負載均衡群集