学生网站建设实训总结,网站正能量下载免费软件,中文wordpress主题免费下载,西樵网站制作公司目录
一、多实例
二、 nginxtomcat的负载均衡和动静分离
三、Tomcat 客户端-四层代理-七层代理-tomcat服务器
实验#xff1a;
问题总结#xff1a; tomcat日志文件#xff1a;/usr/local/tomcat/logs/catalina.out
一、多实例
在一台服务器上有多个tomc…目录
一、多实例
二、 nginxtomcat的负载均衡和动静分离
三、Tomcat 客户端-四层代理-七层代理-tomcat服务器
实验
问题总结 tomcat日志文件/usr/local/tomcat/logs/catalina.out
一、多实例
在一台服务器上有多个tomcat的服务。
1.安装好 jdk
2.安装 tomcat
cd /opt
tar zxvf 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/tomcat23.配置 tomcat 环境变量
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/tomcat2source /etc/profile.d/tomcat.sh4.修改 tomcat2 中的 server.xml 文件要求各 tomcat 实例配置不能有重复的端口号
vim /usr/local/tomcat/tomcat2/conf/server.xml
Server port8006 shutdownSHUTDOWN #22行修改Server prot默认为8005 - 修改为8006
Connector port8081 protocolHTTP/1.1 #69行修改Connector portHTTP/1.1 默认为8080 - 修改为8081
Connector port8010 protocolAJP/1.3 redirectPort8443 /
#116行修改Connector port AJP/1.3默认为8009 - 修改为8010----------------------------------------------------------------------------------------------------------
第一个连接器默认监听8080端口负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时使用的就是这个连接器。
第二个连接器默认监听8009端口负责和其他的HTTP服务器建立连接。
在把Tomcat与其他HTTP服务器集成时需要用到这个连接器。第三个连接器
port8010指定AJP连接器监听的端口号。在这个示例中AJP连接器监听在8010端口上。protocolAJP/1.3指定连接器所使用的协议。这里设置为AJP/1.3表示使用AJP协议的版本1.3。redirectPort8443指定重定向端口。当AJP连接器接收到HTTP请求时如果请求是通过HTTPS加密访问的
则会将请求重定向到8443端口。AJP连接器用于将静态资源和动态请求从前端Web服务器如Apache HTTP Server转发到Tomcat服务器。
这样可以将Tomcat服务器隐藏在防火墙之后提高安全性同时提供更高的性能特别是在处理动态请求时。
常见的AJP连接器配置是为了将Tomcat与Apache HTTP Server或Nginx等前端服务器集成以实现负载均衡、反向代理等功能
----------------------------------------------------------------------------------------------------------5.修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件添加 tomcat 环境变量
vim /usr/local/tomcat/tomcat1/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE$CATALINA_BASE1
export CATALINA_HOME$CATALINA_HOME1
export TOMCAT_HOME$TOMCAT_HOME1vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE$CATALINA_BASE1
export CATALINA_HOME$CATALINA_HOME1
export TOMCAT_HOME$TOMCAT_HOME1vim /usr/local/tomcat/tomcat2/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE$CATALINA_BASE2
export CATALINA_HOME$CATALINA_HOME2
export TOMCAT_HOME$TOMCAT_HOME2vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE$CATALINA_BASE2
export CATALINA_HOME$CATALINA_HOME2
export TOMCAT_HOME$TOMCAT_HOME26.启动各 tomcat 中的 /bin/startup.sh
/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/startup.sh netstat -natp | grep java7.浏览器访问测试
http://192.168.233.21:8080
http://192.168.233.21:8081
二、 nginxtomcat的负载均衡和动静分离
静静态页面
动动态页面
分别可以对静态页面和动态页面发起不同的请求会有不同的响应结果
nginx反向代理-----负载均衡-------tomcat是后端服务器------web静态由nginx来做-------静态请求到nginx-----动态页面到tomcat
tomcat并发量能力弱 只有nginx的六分之一所以要有负载均衡进行合理的调用分配。
nginx请求静态页面她可以直接响应用户的静态请求动态请求通过nginx服务器转发到后端的tomcat进行处理。同时设置动态请求的负载均衡。
结构图 1、备份nginx配置文件
cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak.20230811 2、编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
#添加以下内容 upstream ky30 { server 192.168.11.14:8080 weight1; #多实例不同端口 server 192.168.11.14:8081 weight1; #多实例不同端口 server 192.168.11.15:8080 weight2; #单台
} 编辑html文件
cd /usr/local/nginx/html
vim index.htm
#复制以下内容
html
body
h1 this is Nginx static test !/h2
img srcgundam.jpg/
/body
/html 3、进入tomcat多实例主机
cd /usr/local/tomcat/tomcat1/webapps
Mkdir test
Cd test
Vim index.jsp
#复制粘贴以下内容
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test1 page/title
/head
body
% out.println(动态页面 1,http://www.test1.com);%
/body
/html cd /usr/local/tomcat/tomcat2/webapps
Mkdir test
Cd test
Vim index.jsp
#复制粘贴以下内容
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test2 page/title
/head
body
% out.println(动态页面 2,http://www.test2.com);%
/body
/html 4、编辑tomcat多实例主机的server.xml
vim /usr/local/tomcat/tomcat1/conf/server.xml
#删除前面的host配置
#复制粘贴以下内容注意Host标记
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse
Context docBase/usr/local/tomcat/tomcat1/webapps/test path reloadabletrue /
/Host vim /usr/local/tomcat/tomcat2/conf/server.xml
#删除前面的host配置
#复制粘贴以下内容注意Host标记
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse
Context docBase/usr/local/tomcat/tomcat2/webapps/test path reloadabletrue /
/Host /usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/shutdown.sh
/usr/local/tomcat/tomcat2/bin/startup.sh 5、编辑单台tomcat的jsp文件
cd /usr/local/tomcat/webapps
Mkdir test
Cd test
Vim index.jsp
#复制粘贴以下内容
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test3 page/title
/head
body
% out.println(动态页面 3,http://www.test3.com);%
/body
/html 6、编辑单台tomcat的server.xml文件
vim /usr/local/tomcat/conf/server.xml
#删除前面的host配置
#复制粘贴以下内容注意Host标记
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse
Context docBase/usr/local/tomcat/webapps/test path reloadabletrue /
/Host /usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh 三、Tomcat 客户端-四层代理-七层代理-tomcat服务器
实验
四层代理 七层代理1 七层代理2 编辑Tomcat服务器配置
Tomcat多实例服务器
cd /usr/local/tomcat/tomcat1/webapps
Mkdir test
Cd test
Vim index.jsp
#复制粘贴以下内容
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test1 page/title
/head
body
% out.println(动态页面 1,http://www.test1.com);%
/body
/html cd /usr/local/tomcat/tomcat2/webapps
Mkdir test
Cd test
Vim index.jsp
#复制粘贴以下内容
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test2 page/title
/head
body
% out.println(动态页面 2,http://www.test2.com);%
/body
/html 编辑tomcat多实例主机的server.xml
vim /usr/local/tomcat/tomcat1/conf/server.xml
#删除前面的host配置
#复制粘贴以下内容注意Host标记
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse
Context docBase/usr/local/tomcat/tomcat1/webapps/test path reloadabletrue /
/Host vim /usr/local/tomcat/tomcat2/conf/server.xml
#删除前面的host配置
#复制粘贴以下内容注意Host标记
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse
Context docBase/usr/local/tomcat/tomcat2/webapps/test path reloadabletrue /
/Host /usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/shutdown.sh
/usr/local/tomcat/tomcat2/bin/startup.sh 编辑单台tomcat的jsp文件
cd /usr/local/tomcat/webapps
Mkdir test
Cd test
Vim index.jsp
#复制粘贴以下内容
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test3 page/title
/head
body
% out.println(动态页面 3,http://www.test3.com);%
/body
/html 编辑单台tomcat的server.xml文件
vim /usr/local/tomcat/conf/server.xml
#删除前面的host配置
#复制粘贴以下内容注意Host标记
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse
Context docBase/usr/local/tomcat/webapps/test path reloadabletrue /
/Host /usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh 测试
192.168.11.12:82
192.168.11.12:82/index.jsp 问题总结
1、如果配置完成后测试访问页面发现进入weclome to cent0s7页面就代表进入了使用yum安装的nginx配置的页面(/usr/share/nginx/html) 出现此情况表示进入了yum安装的nginx配置的页面了和自己安装的nginx冲突可以systemctl stop nginx后进入自己配置的nginx文件中,输入指令nginx 可以开启单一的配置文件中的nginx服务而不会像systemctl restart nginx 那样打开所有nginx。
或者删除nginx服务然后重新编译安装。(慎重)
2、出现此状况 可能是你的配置文件输入有错误写完后一定要输入nginx -t 查看配置文件中拼写是否有错误。
3、如果发现比如端口80被占用的情况
Netstat -antp | grep 80
#查看端口情况
此时有两种解决办法
1、kill -9 xxx 杀死占用端口的进程
2、更改配置文件中的端口号避免出现重复使用端口号导致的端口被占用的情况。