1. 程式人生 > >部署Tomcat 及 nginx+tomcat負載杏_彩原始碼出_售均衡

部署Tomcat 及 nginx+tomcat負載杏_彩原始碼出_售均衡

1)、Tomcat簡介:杏_彩原始碼出_售 Q1157880099 ,屬於Apache軟體基金會,是處理Java程式碼的免費產品。 2)、應用場景:Tomcat一款免費的開放原始碼的web應用伺服器,屬於輕量級應用伺服器,在中小型 系統和併發量不高的場合下普遍舒勇,是開發和除錯JSP程式的首選。Tomcat和nginx、Apache一 樣都是處理靜態頁面的,但是其效能遠不如nginx、Apache,所以常常被放到後端被呼叫使用。

案例環境 ———————————————————————————————————————— | 主機| 作業系統 | IP地址 | 主要軟體 | ———————————————————————————————————————— | Tomcat伺服器 | centos7.4x86_64 | 192.168.10.40 | apache-tomcat-8.5.16.tar.gz |

案例實施 1、實施準備 修改主機名 [[email protected] ~]# vi /etc/hostname tomcat :wq [[email protected] ~]# reboot 關閉防火牆 [[email protected] ~]# systemctl stop firewalld 在安裝Tomcat之前必須先安裝JDK。JDK是Java語言的軟體開發工具包,其中包含Java虛擬機器(JVM) ,編寫好的Java原始碼程式經過編譯可形成Java位元組碼,只要安裝了JDK,就可利用JVM解析這些位元組 碼檔案從而保證Java的跨平臺性。

檢視JDK是否安裝-我這裡已經安裝了,如果沒有安裝可以自行下載安裝 [

[email protected] ~]# java -version openjdk version “1.8.0131” OpenJDK Runtime Environment (build 1.8.0131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode) 安裝Tomcat 1、解壓原始碼包 [[email protected] ~]# tar zxvf apache-tomcat-8.5.16.tar.gz 2、將解壓出來的資料夾移動到/usr/local/路徑下,並改名為:tomcat8 [[email protected]
~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8 3、啟動和關閉tomcat [[email protected] ~]# /usr/local/tomcat8/bin/startup.sh ##啟動(如想關閉tomcat則使用“shutdown.sh”) Using CATALINABASE: /usr/local/tomcat8 Using CATALINAHOME: /usr/local/tomcat8 Using CATALINATMPDIR: /usr/local/tomcat8/temp Using JREHOME: /usr Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar Tomcat started. tomcat預設執行在8080埠上,使用netstatus命令檢視8080埠監聽狀態 [[email protected] ~]# netstat -anpt | grep 8080 \tcp6 0 0 :::8080 ::: LISTEN 1501/java 4、開啟瀏覽器訪問測試:http://192168.10.40:8080成功開啟頁面表示已經啟動成功

Tomcat配置相關說明 Tomcat主目錄為/usr/local/tomcat8/ 1、主要目錄說明 [[email protected] ~]# ls -l /usr/local/tomcat8/ 總用量 92 drwxr-x— 2 root root 4096 10月 4 22:04 bin drwx------ 3 root root 254 10月 4 22:07 conf drwxr-x— 2 root root 4096 10月 4 22:04 lib drwxr-x— 2 root root 197 10月 4 22:07 logs drwxr-x— 2 root root 30 10月 4 22:04 temp drwxr-x— 7 root root 81 6月 22 2017 webapps drwxr-x— 3 root root 22 10月 4 22:07 work |—bin/:存放Windows或Linux平臺上啟動和關閉tomcat的指令碼檔案 |—conf/:存放tomcat伺服器的各種全域性配置檔案,其中做重要的是server.xml和web.xml.web |—lib/:存放tomcat執行需要的庫檔案(JARS) |—logs:存放tomcat執行時的LOG檔案 |—webapps:tomcat的主要web釋出目錄(包括應用程式示例) |—work:存放JSP編譯後產生的class檔案 2、配置檔案說明 [[email protected] ~]# ls -l /usr/local/tomcat8/conf/ 總用量 224 drwxr-x— 3 root root 23 10月 4 22:07 Catalina -rw------- 1 root root 13816 6月 22 2017 catalina.policy ##許可權控制配置檔案 -rw------- 1 root root 7376 6月 22 2017 catalina.properties ##tomcat屬性配置檔案 -rw------- 1 root root 1338 6月 22 2017 context.xml ##上下文配置檔案 -rw------- 1 root root 1149 6月 22 2017 jaspic-providers.xml -rw------- 1 root root 2358 6月 22 2017 jaspic-providers.xsd -rw------- 1 root root 3622 6月 22 2017 logging.properties ##日誌log相關配置檔案 -rw------- 1 root root 7511 6月 22 2017 server.xml ##主配置檔案 -rw------- 1 root root 2164 6月 22 2017 tomcat-users.xml ##管理使用者配置檔案(tomcat安裝後提供一個manager-gui的管理介面) -rw------- 1 root root 2633 6月 22 2017 tomcat-users.xsd -rw------- 1 root root 168251 6月 22 2017 web.xml ##Tomcat的servlet、servlet-mapping、filter、MIME等相關配置。 Tomcat主配置檔案說明 sever.xml為Tomcat的主要配置檔案,通過配置該檔案,可以修改Tomcat的啟動埠、網站目錄、 虛擬主機、開啟https 等重要功能。 整個sever.xml 由以下結構構成: 、、 、、、 、、、和.

以下是預設安裝後sever.xml 檔案的部分內容,其中內的內容是註釋資訊,黑色斜體部分 是我們需要注意和需要經常更改的部分。 見書中–93P

tomcat server組成部分說明 1)、server server元素代表了整個Catalina的servlet容器 2)、Service service是這樣一個集合,它由一個或者多個Connector以及一個Ergine(負責處理所有Connector所獲 得的客戶請求)組成。 3)、Connector 一個Connector在某個指定埠上偵聽客戶請求,並將獲得的請求交給Engine來處理,從Ergine處獲得 迴應並返回客戶。 4)、Engine Engine下可以配置多個虛擬主機Virtual Host.每個虛擬主機都有一個域名. Engine獲得一個請求時,它把該請求匹配到某個Host上,然後把該請求交給該Host來處理.Engine有一 個預設虛擬主機,當請求無法匹配到任何一個Host上的時候,將交給該預設Host來處理。 5)、Host Host代表一個Vintual Host。即虛擬主機,每個虛擬主機和某個網路域名Domain Name相匹配。 每個虛擬主機下都可以部署(deploy)一個或者多個Web App,每個Web App對應於一個Context.有一個 Context path。 6)、Context 一個Context對應於一個Web Apiaian一個Web Application由一個或者多個servlet組成

建立Java的web站點 1)、在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網頁檔案 [[email protected] ~]# mkdir -p /web/webapp1 2)、在webapp1目錄下建立一個index.jsp的測試頁面 [[email protected] ~]# vim /web/webapp1/index.jsp [[email protected] ~]# more /web/webapp1/index.jsp <%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

JSP test1 page <%out.println("Welcom to test site,http://www.Test1.com");%>; 3)、修改tomcat的server.xml檔案 定義一個虛擬主機,並將網站檔案路徑只想已經建立/web/webapp1,在host欄位新增contest段。 [[email protected] ~]# vi /usr/local/tomcat8/conf/server.xml ##大約在148行左右

##docBase=“web/webapp1” ##web網頁文件的基準目錄 ##path="" ##設定預設"類" ##reloadable=“false” ##設定監視"類"是否有變化 4)、重新啟動tomcat [[email protected] ~]# /usr/local/tomcat8/bin/shutdown.sh [[email protected] ~]# /usr/local/tomcat8/bin/startup.sh 5)、通過瀏覽器訪問http://192.168.10.40:8080出現以下內容,則表示tomcat已經配置成功, 並且已經能夠執行JSP 了

Welcom to test site,http://www.Test1.com 案例:Nginx+Tomcat負載均衡群集 案例概述 通常情況下一臺tomcat站點由於可能出現單點故障及無法應付過多客戶複雜多樣的請求等問題。 不能單獨應用於生產環境下,所以我們需要一臺更可靠的解決方案來完善web站點架構 nginx是一款非常優秀的http伺服器軟體,它能支援高達50000個併發連線的相應,擁有強大的 靜態資源處理能力,執行穩定,並且記憶體,CPU等資源消耗非常低,目前很多大型網站都應用nginx 伺服器作為後端網站程式的反向代理及負載均衡器,來提高整個站點的負載併發處理能力。 案例環境

| 主機 | 作業系統 | IP地址 | 主要軟體 |

|前端Nginx伺服器 | centos7.4x86_64 | 192.168.10.20 | nginx-1.12.0.tar.gz |

|後端Tomcat伺服器1| centos7.4x86_64 | 192.168.10.40 | apache-tomcat-8.5.16.tar.gz |

|後端Tomcat伺服器2| centos7.4x86_64 | 192.168.10.50 | apache-tomcat-8.5.16.tar.gz |

案例實施 1、Tomcat2 server配置 Tomcat2 server配置方法基本相同於Tomcat1, 1)關閉防火牆 2)確認是否安裝JDK,Java版本與tomcat1 server保持一致 3)安裝配置tomcat,版本與Tomcat1 server保持一致 4)建立/web/webapp1目錄,修改tomcat配置檔案server.xml,將網站檔案目錄更改到 /web/webapp1/路徑下。 5)在/web/webapp1/路徑下建立index.jsp,為了區別將測試也變index.jsp的內容稍加修改 [[email protected] ~]# vim /web/webapp1/index.jsp [[email protected] ~]# more /web/webapp1/index.jsp <%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

JSP test2 page <%out.println("Welcom to test site,http://www.Test2.com");%>; 6)啟動tomcat,瀏覽器訪問Tomcat2 server,測試http://192.168.10.50:8080

2、nginx伺服器配置 在nginx伺服器192.168.10.20上安裝nginx,反向代理兩個tomcat站點,並實現負載均衡 1)關閉防火牆 2)安裝相應的軟體包 [[email protected] ~]# yum install -y pcre-devel zlib-devel openssl-devel 3)解壓並安裝nginx [[email protected] ~]# groupadd www [[email protected] ~]# useradd -g www www -s /bin/false [[email protected] ~]# tar zxvf nginx-1.12.0.tar.gz [[email protected] ~]# cd nginx-1.12.0/ [[email protected] nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module –prefix=/usr/local/nginx ##指定安裝路徑 –user=www --group=www ##指定執行的使用者和組 –with-file-aio ##啟用檔案修改支援 –with-http_stub_status_module ##啟用狀態統計 –with-http_gzip_static_module ##啟用gzip靜態壓縮 –with-http_flv_module ##啟用flv模組,提供尋求記憶體使用基於時間的偏移量檔案 –with-http_ssl_module ##啟用ssl模組 [[email protected] nginx-1.12.0]# make && make install 3)配置nginx.conf [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf 1、在http{…}中加入以下程式碼,設定負載均衡的伺服器列表,weight引數表示權重, 權重越高被分配的概率就越大,為了使測試效果比較明顯,這裡吧權重設定為一樣 大概在33行下面加上就可以 34 upstream tomcat_server { 35 server 192.168.10.40:8080 weight=1; 36 server 192.168.10.50:8080 weight=1; 37 } 2、在http{…}-server{…}-location / {…}中加入一行"proxy_pass http://tomcat_server;" 大概在47行下面 47 location / { 48 root html; 49 index index.html index.htm; 50 proxy_pass http://tomcat_server; 51 } 4)測試nginx配置檔案是否正確 [[email protected] ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

5)啟動nginx服務 [[email protected] ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

6)檢視nginx服務程序 [[email protected] nginx-1.12.0]# ps aux | grep nginx root 6511 0.0 0.1 45896 1128 ? Ss 02:15 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf www 6512 0.0 0.1 48420 1984 ? S 02:15 0:00 nginx: worker process root 6522 0.0 0.0 112676 984 pts/0 R+ 02:16 0:00 grep --color=auto nginx

7)檢視埠號及PID程序號 [[email protected] nginx-1.12.0]# netstat -anpt | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6511/nginx: master

3、測試負載均衡效果 1)開啟瀏覽器訪問:http://192.168.10.20 2)不斷重新整理頁面,檢視頁面變化,頁面內容交替顯示,則說明負載均衡叢集搭建成功。