千家信息网

Nginx+Tomcat负载均衡群集

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,Nginx+Tomcat负载均衡群集 nginx处理静态 tomcat处理动态 合并为动静分离(前后端分离)Tomcat重要目录 bin:存放启动和关闭Tomcat脚本
千家信息网最后更新 2025年01月22日Nginx+Tomcat负载均衡群集

Nginx+Tomcat负载均衡群集

    nginx处理静态    tomcat处理动态    合并为动静分离(前后端分离)

Tomcat重要目录

    bin:存放启动和关闭Tomcat脚本    conf:存放Tomcat不同的配置文件    doc:存放Tomcat文档    lib/japser/common:存放Tomcat运行需要的库文件    logs:存放Tomcat执行时的LOG文件    src:存放Tomcat的源代码    webapps:Tomcat的主要Web发布目录

实验前置知识点:

Nginx静态处理优势

    1.Nginx处理静态页面的效率远高于Tomcat的处理能力    2.如果Tomcat的请求量为1000次,则Nginx的请求量为6000次    3.Tomcat每秒的吞吐量为0 6M,Nginx的每秒吞吐量为3.6M    4.Nginx处理静态资源的能力是Tomcat处理的6倍,优势可见一斑

动静分离原理:服务端接收来自客户端的请求中,既有静态资源也有动态资源

环境准备:

    nginx:192.168.18.147----CentOS 7-1    Tomcat 1:192.168.18.128----CentOS 7-2    Tomcat 2:129.168.18.148----CentOS 7-3    客户端:192.168.18.129----Win 7

Tomcat 1服务器CentOS 7-2的操作:

[root@localhost ~]# hostnamectl set-hostname tomcat1[root@localhost ~]# su[root@tomcat1 ~]# systemctl stop firewalld.service [root@tomcat1 ~]# setenforce 0[root@tomcat1 ~]# mkdir /aaa[root@tomcat1 ~]# mount.cifs //192.168.10.189/rpm /aaaPassword for root@//192.168.10.189/rpm:  [root@tomcat1 ~]# cd /aaa/tomcat/[root@tomcat1 tomcat]# lsapache-tomcat-7.0.54.tar.gz  jdk-8u91-linux-x64.tar.gzapache-tomcat-8.5.16.tar.gz  nginx-1.12.0.tar.gzjdk-7u65-linux-x64.gz        nginx-1.6.0.tar.gz[root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/#设置环境变量:[root@tomcat1 tomcat]# vim /etc/profile   #按大写字母G到末行,按小写字母o在下行插入以下内容:export JAVA_HOME=/usr/local/jdk1.8.0_91export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH#修改完成后,按Esc退出插入模式,输入:wq保存退出[root@tomcat1 tomcat]# source /etc/profile[root@tomcat1 tomcat]# lsapache-tomcat-7.0.54.tar.gz  jdk-8u91-linux-x64.tar.gzapache-tomcat-8.5.16.tar.gz  nginx-1.12.0.tar.gzjdk-7u65-linux-x64.gz        nginx-1.6.0.tar.gz[root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/[root@tomcat1 tomcat]# cd /usr/local/[root@tomcat1 local]# lsapache-tomcat-8.5.16  etc    include      lib    libexec  sharebin                   games  jdk1.8.0_91  lib64  sbin     src[root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat[root@tomcat1 local]# lsbin  games    jdk1.8.0_91  lib64    sbin   srcetc  include  lib          libexec  share  tomcat[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown..sh /usr/local/bin/[root@tomcat1 local]# mkdir -pv /web/webapp1mkdir: 已创建目录 "/web"mkdir: 已创建目录 "/web/webapp1"[root@tomcat1 local]# cd /web/webapp1/[root@tomcat1 webapp1]# vim index.jsp<%@ page language="java" import="java.until.*" pageEncoding="UTF-8"%>   JSP test1 page   <% out.println("Welcome ACCP Web");%> #添加完成后输入:wq保存退出[root@tomcat1 webapp1]# vim /usr/local/tomcat/conf/server.xml #输入/Host查找到以下内容#在此行下插入,添加站点目录#添加完成后输入:wq保存退出[root@tomcat1 webapp1]# startup.sh Using CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /usr/local/jdk1.8.0_91/jreUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jaTomcat started.

到宿主机中的浏览器输入:192.168.18.128:8080 可以看到:Welcome KGC Web

Tomcat 2服务器CentOS 7-4的操作:

[root@localhost ~]# hostnamectl set-hostname tomcat2[root@localhost ~]# su[root@tomcat1 ~]# systemctl stop firewalld.service [root@tomcat1 ~]# setenforce 0[root@tomcat1 ~]# mkdir /aaa[root@tomcat1 ~]# mount.cifs //192.168.10.189/rpm /aaaPassword for root@//192.168.10.189/rpm:  [root@tomcat1 ~]# cd /aaa/tomcat/[root@tomcat1 tomcat]# lsapache-tomcat-7.0.54.tar.gz  jdk-8u91-linux-x64.tar.gzapache-tomcat-8.5.16.tar.gz  nginx-1.12.0.tar.gzjdk-7u65-linux-x64.gz        nginx-1.6.0.tar.gz[root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/#设置环境变量:[root@tomcat1 tomcat]# vim /etc/profile   #按大写字母G到末行,按小写字母o在下行插入以下内容:export JAVA_HOME=/usr/local/jdk1.8.0_91export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH#修改完成后,按Esc退出插入模式,输入:wq保存退出[root@tomcat1 tomcat]# source /etc/profile[root@tomcat1 tomcat]# lsapache-tomcat-7.0.54.tar.gz  jdk-8u91-linux-x64.tar.gzapache-tomcat-8.5.16.tar.gz  nginx-1.12.0.tar.gzjdk-7u65-linux-x64.gz        nginx-1.6.0.tar.gz[root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/[root@tomcat1 tomcat]# cd /usr/local/[root@tomcat1 local]# lsapache-tomcat-8.5.16  etc    include      lib    libexec  sharebin                   games  jdk1.8.0_91  lib64  sbin     src[root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat[root@tomcat1 local]# lsbin  games    jdk1.8.0_91  lib64    sbin   srcetc  include  lib          libexec  share  tomcat[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown..sh /usr/local/bin/[root@tomcat1 local]# mkdir -pv /web/webapp1mkdir: 已创建目录 "/web"mkdir: 已创建目录 "/web/webapp1"[root@tomcat1 local]# cd /web/webapp1/[root@tomcat1 webapp1]# vim index.jsp<%@ page language="java" import="java.until.*" pageEncoding="UTF-8"%>   JSP test1 page   <% out.println("Welcome KGC Web");%> #添加完成后输入:wq保存退出[root@tomcat1 webapp1]# vim /usr/local/tomcat/conf/server.xml #输入/Host查找到以下内容#在此行下插入,添加站点目录#添加完成后输入:wq保存退出[root@tomcat1 webapp1]# startup.sh Using CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /usr/local/jdk1.8.0_91/jreUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jaTomcat started.

到宿主机中的浏览器输入:192.168.18.148:8080 可以看到:Welcome ACCP Web

Nginx服务器CentOS 7-1的操作:

[root@localhost ~]# hostnamectl set-hostname nginx[root@localhost ~]# su[root@nginx ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y[root@nginx ~]# mkdir  /aaa[root@nginx ~]# mount.cifs //192.168.10.189/rpm /aaaPassword for root@//192.168.10.189/rpm:  [root@nginx ~]# cd /aaa/tomcat/[root@nginx tomcat]# lsapache-tomcat-7.0.54.tar.gz  jdk-8u91-linux-x64.tar.gzapache-tomcat-8.5.16.tar.gz  nginx-1.12.0.tar.gzjdk-7u65-linux-x64.gz        nginx-1.6.0.tar.gz[root@nginx tomcat]# tar zxvf nginx-1.12.0.tar.gz -C /usr/local/[root@nginx tomcat]# cd /usr/local/nginx-1.12.0/[root@nginx nginx-1.12.0]# lsauto     CHANGES.ru  configure  html     man     srcCHANGES  conf        contrib    LICENSE  README[root@nginx nginx-1.12.0]# useradd -M -s /sbin/nologin nginx[root@nginx nginx-1.12.0]# ./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_module \--with-http_gzip_static_module \--with-http_flv_module[root@nginx nginx-1.12.0]# make && make install[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf#gzip  on;              #在下行插入以下内容upstream tomcat_server {          server 192.168.18.128:8080 weight=1;          server 192.168.18.148:8080 weight=1;}location / {    root   html;    index  index.html index.htm;        #在下行插入    proxy_pass http://tomcat_server;}#修改完成后按Esc退出插入模式,输入:wq保存退出[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/[root@nginx nginx-1.12.0]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@nginx nginx-1.12.0]# nginx[root@nginx nginx-1.12.0]# netstat -ntap | grep 80tcp        0      0 0.0.0.0:80         0.0.0.0:*        LISTEN        8917/nginx: master  

验证轮询机制:

1.在宿主机中的浏览器输入:192.168.18.147 可以看到:Welcome KGC Web

2.再次刷新可以可到:Welcome ACCP Web

0