外贸网站如何优化,免费建设小说网站,海口专业网站建设,三门峡市建设局官方网站多实例联动 一、Tomcat 多实例1.1 什么是Tomcat多实例#xff1f;1.2 配置思路1.3 配置实现1.3.1 安装jdk1.3.2 安装tomcat1.3.3 配置 tomcat 环境变量1.3.4 修改端口号1.3.5 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件#xff0c;添加 tomcat 环境变量1.3.6 启… 多实例联动 一、Tomcat 多实例1.1 什么是Tomcat多实例1.2 配置思路1.3 配置实现1.3.1 安装jdk1.3.2 安装tomcat1.3.3 配置 tomcat 环境变量1.3.4 修改端口号1.3.5 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件添加 tomcat 环境变量1.3.6 启动各 tomcat 中的 /bin/startup.sh1.3.7 浏览器访问测试 二、NginxTomcat负载均衡、动静分离2.1 原理部分2.2 配置思路2.3 配置部分2.3.1 配置nginx1四层代理实现负载均衡2.3.2 配置nginx2和nginx3,七层代理动静分离2.3.3 Tomcat配置作为动态资源服务器2.3.4 静态页面测试2.3.5 动态资源测试 一、Tomcat 多实例
1.1 什么是Tomcat多实例
Tomcat 多实例是指在同一台服务器上运行多个独立的 Tomcat 实例。
每个 Tomcat 实例都具有独立的配置文件、日志文件、应用程序和端口。
通过配置不同的端口和文件目录可以实现同时运行多个独立的 Tomcat 服务器每个服务器都可以独立处理用户的请求。
这样可以提高服务器的并发处理能力和灵活性同时隔离不同的应用程序和配置。
1.2 配置思路
1修改 tomcat 主配置文件 server.xml 中的三个端口号 8080 8005 8009 2修改 tomcat 启动停止脚本 startup.sh shutdown.sh添加 export CATALINA BASE CATALINA HONE TOWCAT HOME 变量都指向实例的工作目录。
1.3 配置实现
1.3.1 安装jdk
步骤1这里不再赘述详见上一篇博客。
1.3.2 安装tomcat
mkdir /usr/local/tomcat
#实例1
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
#实例2
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2
#实例3
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat31.3.3 配置 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/tomcat2#tomcat3
export CATALINA_HOME3/usr/local/tomcat/tomcat3
export CATALINA_BASE3/usr/local/tomcat/tomcat3
export TOMCAT_HOME3/usr/local/tomcat/tomcat3source /etc/profile.d/tomcat.sh1.3.4 修改端口号
----------------------------------------------------------------------------------------------------------
第一个连接器默认监听8080端口负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时使用的就是这个连接器。
第二个连接器默认监听8009端口AJP端口即容器使用如Apache能通过AJP协议访问Tomcat的8009端口。
----------------------------------------------------------------------------------------------------------#tomcat2
vim /usr/local/tomcat/tomcat2/conf/server.xml
#22行修改Server prot默认为8005 - 修改为8006
#69行修改Connector portHTTP/1.1 默认为8080 - 修改为8081
#116行修改Connector port AJP/1.3默认为8009 - 修改为8010#tomcat3
vim /usr/local/tomcat/tomcat3/conf/server.xml
#22行修改Server prot默认为8005 - 修改为8007
#69行修改Connector portHTTP/1.1 默认为8080 - 修改为8082
#116行修改Connector port AJP/1.3默认为8009 - 修改为80111.3.5 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件添加 tomcat 环境变量
以tomcat1为例tomcat2和tomcat3配置相同
#tomcat1
vim /usr/local/tomcat/tomcat1/bin/startup.shexport CATALINA_BASE$CATALINA_BASE1
export CATALINA_HOME$CATALINA_HOME1
export TOMCAT_HOME$TOMCAT_HOME1vim /usr/local/tomcat/tomcat1/bin/shutdown.shexport CATALINA_BASE$CATALINA_BASE1
export CATALINA_HOME$CATALINA_HOME1
export TOMCAT_HOME$TOMCAT_HOME11.3.6 启动各 tomcat 中的 /bin/startup.sh
#都是后台启动
/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/startup.sh
/usr/local/tomcat/tomcat3/bin/startup.sh ss -natp | grep java1.3.7 浏览器访问测试
http://192.168.2.100:8080
http://192.168.2.100:8081
http://192.168.2.100:8082Tomcat 多实例配置成功
二、NginxTomcat负载均衡、动静分离
2.1 原理部分
服务端接收来自客户端的请求中既有静态资源也有动态资源静态资源由Nginx提供服务动态资源Nginx转发至后端。
2.2 配置思路
使用七层代理实现动静分离负载均衡配置tomcat多实例多个tomcat轮流处理动态资源轮询算法
访问静态资源由nginx直接处理并响应。
使用四层代理实现nginx负载均衡客户端到nginx1的请求由nginx2和nignx3轮流处理轮询算法。
2.3 配置部分 nginx1 192.168.2.102 nginx2 192.168.2.103 nginx3 192.168.2.104 tomcat1 192.168.2.100:8080 tomcat2 192.168.2.100:8081 tomcat3 192.168.2.100:8082 2.3.1 配置nginx1四层代理实现负载均衡 前置准备 #关闭防火墙和selinux
systemctl disable firewalld.service --now
setenforce 0编译安装nginx用systemd管理 #依赖
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c make
#创建管理用户
useradd -M -s /sbin/nologin nginx#编译安装ngnix
cd /opt
tar -zxf nginx-1.18.0\ .tar.gzcd nginx-1.18.0./configure \
--prefix/usr/local/nginx \
--usernginx \
--groupnginx \
--with-file-aio \ #启用文件修改支持
--with-http_stub_status_module \ #启用状态统计
--with-http_gzip_static_module \ #启用 gzip静态压缩
--with-http_flv_module \ #启用 flv模块提供对 flv 视频的伪流支持
--with-http_ssl_module #启用 SSL模块提供SSL加密功能
--with-stream #启用 stream模块提供4层调度make -j2 make install #软连接 添加到环境变量中
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/#添加到系统服务中
vim /lib/systemd/system/nginx.service
[Unit]
Descriptionnginx
Afternetwork.target
[Service]
Typeforking
PIDFile/usr/local/nginx/logs/nginx.pid
ExecStart/usr/local/nginx/sbin/nginx
ExecrReload/bin/kill -s HUP $MAINPID
ExecrStop/bin/kill -s QUIT $MAINPID
PrivateTmptrue
[Install]
WantedBymulti-user.targetsystemctl daemon_reload
chmod 754 /lib/systemd/system/nginx.service#启动nginx
systemctl start nginx
systemctl status nginx 配置负载均衡四层代理实现 vim /usr/local/nginx/conf/nginx.conf
...
#写在http部分上面
stream {upstream myserver {server 192.168.2.103:80 weight1;server 192.168.2.104:80 weight1;}server {listen 80;proxy_pass myserver;}
}nginx -t
nginx -s reload ss -natp | grep nginx2.3.2 配置nginx2和nginx3,七层代理动静分离
nginx2和nginx3的配置基本相同
以nginx2为例 前置准备 systemctl disable firewalld --now
setenforce 0yum安装nginx yum -y install epel-release.noarch -y
yum -y install nginx systemctl start nginx 编辑配置文件 七层代理负载均衡轮询动静分离 nginx -t
nginx -s reload创建静态页面准备测试图片 #静态页面
cd /usr/share/nginx/html
mkdir byyb
echo This is static source ,from byyb index.html#准备测试图片放在byyb下nginx3的配置大概相同除了准备相同名字不同内容的图片和静态网页用于测试负载均衡。 2.3.3 Tomcat配置作为动态资源服务器
已经配置了多实例配置详细过程见上文。 前置准备 systemctl disable firewalld --now
setenforce 0准备动态资源 mkdir /usr/local/tomcat/tomcat1/webapps/test /usr/local/tomcat/tomcat2/webapps/test /usr/local/tomcat/tomcat3/webapps/test#创建动态页面#tomcat1
vim /usr/local/tomcat/tomcat1/webapps/test/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#tomcat2
vim /usr/local/tomcat/tomcat2/webapps/test/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#tomcat3
vim /usr/local/tomcat/tomcat3/webapps/test/index.jsp% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test3 page/title #指定为 test2 页面
/head
body
% out.println(动态页面 3,http://www.test3.com);%
/body
/html#重启服务/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 /usr/local/tomcat/tomcat3/bin/shutdown.sh
/usr/local/tomcat/tomcat3/bin/startup.sh ss -natp | grep java #测试2.3.4 静态页面测试
浏览器访问 http://192.168.2.102/test.jpg
多次刷新浏览器访问 http://192.168.2.102/index.html2.3.5 动态资源测试
#访问代理服务器
浏览器访问http://192.168.2.102/test/index.jsp
多次刷新