Tomcat多實(shí)例與負(fù)載均衡示例詳解
目錄
- 一、Tomcat多實(shí)例
- 1.1 安裝好 jdk
- 1.2 安裝 tomcat
- 1.3 配置 tomcat 環(huán)境變量
- 1.4修改tomcat2中的主配置文件
- 1.5修改啟動(dòng)腳本和關(guān)閉腳本
- 1.6啟動(dòng)tomcat并查看
- 二、Nginx+Tomcat負(fù)載均衡、動(dòng)靜分離
- 2.1 部署Nginx 負(fù)載均衡器
- 2.2部署第一臺(tái)Tomcat
- 2.3部署第二臺(tái)Tomcat
- 2.4nginx 配置
一、Tomcat多實(shí)例
1.1 安裝好 jdk
在部署 Tomcat 之前必須安裝好 jdk,因?yàn)?jdk 是 Tomcat 運(yùn)行的必要環(huán)境。
1. #關(guān)閉防火墻 systemctl stop firewalldsystemctl disable firewalldsetenforce 0 2. #將安裝 Tomcat 所需軟件包傳到/opt目錄下apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm 3. #切換至/opt下,安裝JDKcd /optrpm -ivh jdk-8u201-linux-x64.rpm ?4. #查看java版本java -version
關(guān)閉防火墻
將安裝 Tomcat 所需軟件包傳到/opt目錄下
切換至/opt下,安裝JDK
查看java版本
1.2 安裝 tomcat
1. #切換至/opt下,解壓tomcat包c(diǎn)d /opttar -zxf apache-tomcat-9.0.16.tar.gz ?2. #新建文件夾/usr/local/tomcatmkdir /usr/local/tomcat 3. #將解壓后的包拷貝至/usr/local/下并重命名cp -a apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1cp -a apache-tomcat-9.0.16 /usr/local/tomcat/tomcat2
切換至/opt下,解壓tomcat包
新建文件夾/usr/local/tomcat
將解壓后的包拷貝至/usr/local/下并重命名
1.3 配置 tomcat 環(huán)境變量
vim /etc profile?export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH
1.4修改tomcat2中的主配置文件
vim /usr/local/tomcat/tomcat2/conf/server.xml ?22 <Server port="8006" shutdown="SHUTDOWN">69 ? ? <Connector port="8081" protocol="HTTP/1.1"116 ? ? <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />?
1.5修改啟動(dòng)腳本和關(guān)閉腳本
1. #修改tomcat1的/usr/local/tomcat/tomcat1/bin/startup.sh vim /usr/local/tomcat/tomcat1/bin/startup.sh ?export CATALINA_HOME1=/usr/local/tomcat/tomcat1export CATALINA_BASE1=/usr/local/tomcat/tomcat1export TOMCAT_HOME1=/usr/local/tomcat/tomcat1?2. #修改tomcat1 的/usr/local/tomcat/tomcat1/bin/shutdown.sh vim /usr/local/tomcat/tomcat1/bin/shutdown.sh ?export CATALINA_HOME1=/usr/local/tomcat/tomcat1export CATALINA_BASE1=/usr/local/tomcat/tomcat1export TOMCAT_HOME1=/usr/local/tomcat/tomcat1??3. #修改tomcat2的/usr/local/tomcat/tomcat2bin/startup.sh vim /usr/local/tomcat/tomcat2/bin/startup.sh ?export CATALINA_HOME1=/usr/local/tomcat/tomcat2export CATALINA_BASE1=/usr/local/tomcat/tomcat2export TOMCAT_HOME1=/usr/local/tomcat/tomcat2?4. #修改tomcat2的/usr/local/tomcat/tomcat2/bin/shutdown.sh vim /usr/local/tomcat/tomcat2/bin/shutdown.sh ?export CATALINA_HOME1=/usr/local/tomcat/tomcat2export CATALINA_BASE1=/usr/local/tomcat/tomcat2export TOMCAT_HOME1=/usr/local/tomcat/tomcat2?
修改tomcat1的/usr/local/tomcat/tomcat1/bin/startup.sh
修改tomcat1 的/usr/local/tomcat/tomcat1/bin/shutdown.sh
修改tomcat2的/usr/local/tomcat/tomcat2bin/startup.sh
修改tomcat2的/usr/local/tomcat/tomcat2/bin/shutdown.sh :
1.6啟動(dòng)tomcat并查看
1. #啟動(dòng)tomcat1cd /usr/local/tomcat/./tomcat1/bin/startup.sh?2. #啟動(dòng)tomcat2./tomcat2/bin/startup.sh ?3. #查看是否啟動(dòng)成功ss -ntap|grep javahttp://192.168.59.118:8080/
啟動(dòng)tomcat1、tomcat2
查看是否啟動(dòng)成功
二、Nginx+Tomcat負(fù)載均衡、動(dòng)靜分離
- standalone模式,Tomcat單獨(dú)運(yùn)行,直接接受用戶的請(qǐng)求,不推薦。
反向代理,單機(jī)運(yùn)行,提供了一個(gè)Nginx作為反向代理,可以做到靜態(tài)由nginx提供響應(yīng),動(dòng)態(tài)jsp
代理給Tomcat
- LNMT:Linux + Nginx + MySQL + Tomcat
LAMT:Linux + Apache(Httpd)+ MySQL + Tomcat
前置一臺(tái)Nginx,給多臺(tái)Tomcat實(shí)例做反向代理和負(fù)載均衡調(diào)度,Tomcat上部署的純動(dòng)態(tài)頁(yè)面更
適合
LNMT:Linux + Nginx + MySQL + Tomcat
- 多級(jí)代理
LNNMT:Linux + Nginx + Nginx + MySQL + Tomcat
動(dòng)態(tài)服務(wù)器的問題,往往就是并發(fā)能力太弱,往往需要多臺(tái)動(dòng)態(tài)服務(wù)器一起提供服務(wù)。如何把并發(fā)的壓力分?jǐn)偅@就需要調(diào)度,采用一定的調(diào)度策略,將請(qǐng)求分發(fā)給不同的服務(wù)器,這就是Load Balance負(fù)載均衡。
當(dāng)單機(jī)Tomcat,演化出多機(jī)多級(jí)部署的時(shí)候,一個(gè)問題便凸顯出來,這就是Session。而這個(gè)問題的由來,都是由于HTTP協(xié)議在設(shè)計(jì)之初沒有想到未來的發(fā)展。
2.1 部署Nginx 負(fù)載均衡器
環(huán)境簡(jiǎn)介:
ngnix:192.168.59.108
tomcat1:192.168.59.105
tomcat2: 192.168.59.118
1. #關(guān)閉防火墻systemctl stop firewalldsetenforce 0?2. #安裝依賴關(guān)系包yum -y install pcre-devel zlib-devel gcc gcc-c++ make?3. #新建用戶和組便于管理useradd -M -s /sbin/nologin nginx?4. #切換至opt目錄,將下載好的壓縮包傳進(jìn)來解壓cd /opttar -zxf nginx-1.12.0.tar.gz ?4. #切換至解壓后的目錄下編譯cd nginx-1.12.0?./configure
–prefix=/usr/local/nginx
–user=nginx
–group=nginx
–with-http_stub_status_module
?
5. #安裝
make && make install -j4
?
6. #做軟連接,讓系統(tǒng)識(shí)別nginx的操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
?
7. #將nginx命令加入服務(wù)
cd /lib/systemd/system
vim nginx.service
#!/bin.bash
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
?
8. #重新加載單元.啟動(dòng)服務(wù)
systemctl daemon-reload
systemctl start nginx
?
9. #查看是否成功啟動(dòng)
ss -ntap|grep nginx
http://192.168.59.108/
關(guān)閉防火墻
安裝依賴關(guān)系包
新建用戶和組便于管理
切換至opt目錄,將下載好的壓縮包傳進(jìn)來
切換至解壓后的目錄下編譯
安裝
做軟連接,讓系統(tǒng)識(shí)別nginx的操作命令
將nginx命令加入服務(wù)
重新加載單元.啟動(dòng)服務(wù)
查看是否成功啟動(dòng)
2.2部署第一臺(tái)Tomcat
192.168.59.105
1. #關(guān)閉防火墻systemctl stop firewalldsetenforce 0?2. #切換至/opt,將安裝 Tomcat 所需軟件包傳到/opt目錄下apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm?3. #安裝JDKrpm -ivh jdk-8u201-linux-x64.rpm ?4. #修改換將變量配置文件vim /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH?5. #刷新配置文件source /etc/profile?6. #切換至/opt下,解壓tomcat包c(diǎn)d /opttar -zxf apache-tomcat-9.0.16.tar.gz ?7. #將解壓后的包拷貝至/usr/local/下并重命名cp -r apache-tomcat-9.0.16 /usr/local/tomcat?8. #添加用戶設(shè)置屬主屬組useradd -s /sbin/nologin tomcatchown tomcat:tomcat /usr/local/tomcat -R??9. #新建服務(wù)文件vim /etc/systemd/system/tomcat.service[Unit]Description=Tomcat#After=syslog.target network.target remote-fs.target nss-lookup.targetAfter=syslog.target network.target?[Service]Type=forkingExecStart=/usr/local/tomcat/bin/startup.shExecStop=/usr/local/tomcat/bin/shutdown.shRestartSec=3PrivateTmp=trueUser=tomcatGroup=tomcat?[Install]WantedBy=multi-user.target?10. #重新加載服務(wù),并開啟,查看是否成功啟動(dòng)?systemctl daemon-reloadsystemctl start tomcatss -ntap |grep 8080???#############新建動(dòng)態(tài)頁(yè)面站點(diǎn)###########3?11. #切換至webapp下,新建test目錄cd /usr/local/tomcat/webapps/mkdir test?12. #建立動(dòng)態(tài)頁(yè)面文件vim test/index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head> ? ? <title>JSP test1 page </title> </head> <body> ? ? <% out.println("動(dòng)態(tài)頁(yè)面1,http://www.test1.com");%> </body></html>?13. #修改主配置文件vim /usr/local/tomcat/conf/server.xml刪除原來的站點(diǎn)模塊添加<Host name="localhost" appBase="webapps" ? ? ? ? ? ?unpackWARs="true" autoDeploy="true" xmlValidation="false" ? ? ? ? ? ?xmlNamespaceAware="false"> ? ? ? ? ? ? ? <Context docBase="/usr/local/tomcat/webapps/test" ? ? ? ? ? ? ? ?path="" reloadable="true" /> ? ? </Host>??14. #重啟服務(wù),并在網(wǎng)頁(yè)測(cè)試systemctl restart tomcat.service http://192.168.59.105:8080/
關(guān)閉防火墻
切換至/opt,將安裝 Tomcat 所需軟件包傳到/opt目錄下
安裝JDK
修改換將變量配置文件
刷新配置文件
切換至/opt下,解壓tomcat包
將解壓后的包拷貝至/usr/local/下并重命名
添加用戶設(shè)置屬主屬組
新建服務(wù)文件
重新加載服務(wù),并開啟,查看是否成功啟動(dòng)
切換至webapp下,新建test目錄
建立動(dòng)態(tài)頁(yè)面文件
修改主配置文件
重啟服務(wù),并在網(wǎng)頁(yè)測(cè)試
2.3部署第二臺(tái)Tomcat
1. #關(guān)閉防火墻systemctl stop firewalldsetenforce 0?2. #切換至/opt,將安裝 Tomcat 所需軟件包傳到/opt目錄下apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm?3. #安裝JDKrpm -ivh jdk-8u201-linux-x64.rpm ?4. #修改環(huán)境變量配置文件vim /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH?5. #刷新配置文件source /etc/profile?6. #切換至/opt下,解壓tomcat包c(diǎn)d /opttar -zxf apache-tomcat-9.0.16.tar.gz ?7. #將解壓后的包拷貝至/usr/local/下并重命名cp -r apache-tomcat-9.0.16 /usr/local/tomcat?8. #添加用戶設(shè)置屬主屬組useradd -s /sbin/nologin tomcatchown tomcat:tomcat /usr/local/tomcat -R??9. #新建服務(wù)文件vim /etc/systemd/system/tomcat.service[Unit]Description=Tomcat#After=syslog.target network.target remote-fs.target nss-lookup.targetAfter=syslog.target network.target?[Service]Type=forkingExecStart=/usr/local/tomcat/bin/startup.shExecStop=/usr/local/tomcat/bin/shutdown.shRestartSec=3PrivateTmp=trueUser=tomcatGroup=tomcat?[Install]WantedBy=multi-user.target?10. #重新加載服務(wù),并開啟,查看是否成功啟動(dòng)?systemctl daemon-reloadsystemctl start tomcatss -ntap |grep 8080???#############新建動(dòng)態(tài)頁(yè)面站點(diǎn)###########3?11. #切換至webapp下,新建test目錄cd /usr/local/tomcat/webapps/mkdir test?12. #建立動(dòng)態(tài)頁(yè)面文件vim test/index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head> ? ? <title>JSP test2 page </title> </head> <body> ? ? <% out.println("動(dòng)態(tài)頁(yè)面2,http://www.test2.com");%> </body></html>?13. #修改主配置文件vim /usr/local/tomcat/conf/server.xml刪除原來的站點(diǎn)模塊添加<Host name="localhost" appBase="webapps" ? ? ? ? ? ?unpackWARs="true" autoDeploy="true" xmlValidation="false" ? ? ? ? ? ?xmlNamespaceAware="false"> ? ? ? ? ? ? ? <Context docBase="/usr/local/tomcat/webapps/test" ? ? ? ? ? ? ? ?path="" reloadable="true" /> ? ? </Host>??14. #重啟服務(wù),并在網(wǎng)頁(yè)測(cè)試systemctl restart tomcat.service http://192.168.59.105:8080/
關(guān)閉防火墻
切換至/opt,將安裝 Tomcat 所需軟件包傳到/opt目錄下
安裝JDK
修改環(huán)境變量配置文件
刷新配置文件
切換至/opt下,解壓tomcat包
將解壓后的包拷貝至/usr/local/下并重命名
添加用戶設(shè)置屬主屬組
新建服務(wù)文件
重新加載服務(wù),并開啟,查看是否成功啟動(dòng)
切換至webapp下,新建test目錄
建立動(dòng)態(tài)頁(yè)面文件
修改主配置文件
重啟服務(wù),并在網(wǎng)頁(yè)測(cè)試
2.4nginx 配置
準(zhǔn)備靜態(tài)頁(yè)面和圖片
1. #切換至/usr/local/nginx/html/目錄下cd /usr/local/nginx/html/?2. #創(chuàng)建test文件夾,并在里面創(chuàng)建靜態(tài)網(wǎng)頁(yè)mkdir testcd testvim test.htmlthis is static test web !!?3. #拖一張圖片至test下改名為1.jpgmv 1.jfif 1.jpg?4. #配置主配置文件vim /usr/local/nginx/conf/nginx.conf?#配置負(fù)載均衡服務(wù)器列表,weight參數(shù)表示權(quán)重,權(quán)重越高,被分配到的概率越大 ?#gzip on; ? ? upstream tomcat_server { ? ? ? ? ? ? ? ? ? server 192.168.59.105:8080 weight=1; ? ? ? ? ? ? ? ? ? server 192.168.59.118:8080 weight=1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#動(dòng)靜分離 location ~ .*.jsp$ { ? ? ? ? proxy_pass http://tomcat_server; ? ? ? ? proxy_set_header HOST $host; ? ? ? ? proxy_set_header X-Real-IP $remote_addr; ? ? ? ? proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ? ? }?#靜態(tài)圖片正則 ? ? ? ? location ~* .*.(jpg|html|png|gif)$ { ? ? ? ? root /usr/local/nginx/html/test; ? ? }?? ? ? ? ? location / { ? ? ? ? ? root ? html; ? ? ? ? ? index index.html index.htm; ? ? }???5. ?#重啟nginx并測(cè)試http://192.168.59.108/1.jpghttp://192.168.59.108/test.html
切換至cd /usr/local/nginx/html/目錄下
創(chuàng)建test文件夾,并在里面創(chuàng)建靜態(tài)網(wǎng)頁(yè)
拖一張圖片至test下
配置主配置文件
重啟nginx并測(cè)試
到此這篇關(guān)于Tomcat多實(shí)例與負(fù)載均衡的文章就介紹到這了,更多相關(guān)Tomcat多實(shí)例與負(fù)載均衡內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
