在一台服务器上有多台Tomcat;就算是多实例
yum -y install telnet
telnet 192.168.220.112 80
cd /usr/local/tomcat/logs
vim catalina.out
cd /opt
rpm -ivh jdk-8u201-linux-x64.rpm
java -version
cd /opt
tar -xf apache-tomcat-9.0.16.tar.gz
mkdir /usr/local/tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2
vim /etc/profile.d/tomcat.sh
#写入下面内容
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1
#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
#刷新配置文件
source /etc/profile.d/tomcat.sh
vim /usr/local/tomcat/tomcat2/conf/server.xml
#22行,修改Server prot,默认为8005 -> 修改为8006
#69行,修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081
修改为8010
----------------------------------------------------------------------------------------------------------
第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器默认监听8009端口,负责和其他的HTTP服务器建立连接。
在把Tomcat与其他HTTP服务器集成时,需要用到这个连接器。
第三个连接器
port="8010":指定AJP连接器监听的端口号。在这个示例中,AJP连接器监听在8010端口上。
protocol="AJP/1.3":指定连接器所使用的协议。这里设置为AJP/1.3,表示使用AJP协议的版本1.3。
redirectPort="8443":指定重定向端口。当AJP连接器接收到HTTP请求时,如果请求是通过HTTPS(加密)访问的,
则会将请求重定向到8443端口。
AJP连接器用于将静态资源和动态请求从前端Web服务器(如Apache HTTP Server)转发到Tomcat服务器。
这样可以将Tomcat服务器隐藏在防火墙之后,提高安全性,同时提供更高的性能,特别是在处理动态请求时。
常见的AJP连接器配置是为了将Tomcat与Apache HTTP Server或Nginx等前端服务器集成,以实现负载均衡、反向代理等功能
----------------------------------------------------------------------------------------------------------
vim /usr/local/tomcat/tomcat1/bin/startup.sh
##--G--在页尾添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
##--G--在页尾添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
vim /usr/local/tomcat/tomcat2/bin/startup.sh
##--G--在页尾添加以下内容
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
##--G--在页尾添加以下内容
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
/usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat2/bin/startup.sh
/usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat2/bin/startup.sh
http://192.168.220.112:8080
http://192.168.220.112:8081
动静:动态页面和静态页面
分离:分别可以对静态页面和动态页面发起不同的请求,会有不同的响应结果
nginx通过反向代理实现负载均衡——tomcat是后端服务器——web静态由nginx实现——静态请求会分配给nginx——动态页面则经有nginx转发分配给后端的tomcat
tomcat的并发能力比较弱只有nginx的1/6,所以需要由负载均衡对请求进行合理的分配
Nginx 静态处理优势:Nginx 处理静态页面的效率远高于Tomcat的处理能力,Nginx处理静态资源的能力是Tomcat 处理的6倍
动静分离原理:服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx 提供服务,动态资源由Nginx转发至后端。
Nginx服务装在另一台linux上,不要和tomcat装在同一台机子上
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2、创建运行用户
useradd -M -s /sbin/nologin nginx
3、编译安装
cd /opt
tar zxvf nginx-1.22.0.tar.gz -C /opt/
cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j 4 && make install
4、优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
5、添加 Nginx 系统服务
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 777 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
cd /usr/local/nginx/conf/
#先备份nginx.conf文件
cp nginx.conf nginx.conf.20230811.bak
vim nginx.conf
在--28行-- #tcp_nopush下插入
upstream ky30 {
server 192.168.220.112:8080 weight=1;
server 192.168.220.112:8081 weight=1;
server 192.168.220.114:8080 weight=2;
}
然后到--47行--#access_log下插入
location ~ .*\.jsp$ {
proxy_pass http://ky30;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ .*\.(gif|jpg|png)$ {
root html;
index index.html index.htm;
}
nginx -t
systemctl restart nginx.service
Tomcat1的配置
mkdir /usr/local/tomcat1/webapps/test
vim /usr/local/tomcat1/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
JSP test1 page
<% out.println("动态页面 1,http://www.test1.com");%>
Tomcat2的配置
mkdir /usr/local/tomcat2/webapps/test
vim /usr/local/tomcat2/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
JSP test2 page
<% out.println("动态页面 2,http://www.test2.com");%>
cd /usr/local/tomcat1/conf/
改之前先备份一下
cp server.xml server.xml.20230811.bak
vim server.xml
#在原有的标签下新添下面的内容
cd /usr/local/tomcat2/conf/
改之前先备份一下
cp server.xml server.xml.20230811.bak
vim server.xml
#在原有的标签下新添下面的内容
/usr/local/tomcat1/bin/shutdown.sh
/usr/local/tomcat1/bin/startup.sh
/usr/local/tomcat2/bin/shutdown.sh
/usr/local/tomcat2/bin/startup.sh
访问一下1号机的tomcat,看能否连得上——显示网页代码
curl 192.168.220.112:8080
curl 192.168.220.112:8081
或者打开浏览器访问
192.168.220.112:8080
192.168.220.112:8081
mkdir /usr/local/tomcat/webapps/test
vim index.jsp
mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
JSP test3 page
<% out.println("动态页面 3,http://www.test3.com");%>
cd /usr/local/tomcat/conf/
cp server.xml server.xml.20230811.bak
vim server.xml
在原有的标签下添加
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
cd /usr/local/nginx/html/
vim index.html
Nginx test page
this is Nginx static test !
systemctl stop firewalld
setenforce 0
将图片文件添加到/usr/local/nginx/html/目录下,注意文件名要一致
打开浏览器访问Nginx服务所在机子的IP地址
192.168.220.102
加上/index.jsp访问,刷新页面,页面内容也随之刷新
192.168.220.102/index.jsp