【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

前言

前面咱们介绍了CentOS7上的LVS负载均衡群集管理之LVS-NAT,下面就在给大家介绍一种负载均衡群集:基于nginx搭建tomcat9.0(版本)的负载均衡群集管理

实验环境准备

三台CentOS7虚拟机、一台win7虚拟机

CentOS7-1 nginx调度服务器 IP地址:192.168.234.174

CentOS7-2 tomcat服务器1 IP地址:192.168.234.177

CentOS7-3 tomcat服务器2 IP地址:192.168.234.181

win7 客户访问端 IP地址:192.168.234.50

实验准备软件包:jdk-8u171-linux-x64.rpm、

apache-tomcat-9.0.8.tar.gz、

nginx-1.12.0.tar.gz

部署实验

tomcat服务器1的部署

首先部署tomcat服务器1,挂载共享软件包,关闭防火墙

[root@localhost ~]# mkdir /abc      //创建挂载点
[root@localhost ~]# mount.cifs //192.168.234.1/ruanjiangongju /abc     //挂载共享软件包
Password for root@//192.168.234.1/ruanjiangongju:  
[root@localhost ~]# systemctl stop firewalld.service     //关闭防火墙
[root@localhost ~]# setenforce 0         //关闭增强性安全功能

安装jdk环境、安装tomcat9.0

[root@localhost tomcat]# rpm -ivh jdk-8u171-linux-x64.rpm    //一键式安装jdk的软件包

[root@localhost tomcat]# vim /etc/profile.d/java.sh     //编写一个java.sh的脚本,导入环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

[root@localhost tomcat]# source /etc/profile.d/java.sh     //刷新,使环境变量生效

[root@localhost tomcat]# tar zxvf apache-tomcat-9.0.8.tar.gz -C /opt     //解压缩tomcat9.0的软件包到/opt目录下

[root@localhost opt]# mv apache-tomcat-9.0.8/ /usr/local/tomcat9    //移动tomcat至/usr/local目录下,使系统能识别tomcat的命令

[root@localhost opt]# /usr/local/tomcat9/bin/startup.sh      //开启tomcat服务

[root@localhost opt]# netstat -ntap | grep 8080    //tomcat默认端口是8080端口,查看下8080端口是否开启

这里开启tomcat之后,用本地的火狐浏览器访问本地的IP地址测试,看能不能正常访问tomcat首页

【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

能正常访问之后,编写一个首页内容,便于后面的实验区分两个tomcat服务器

[root@localhost opt]# mkdir -pv /web/webapp1

[root@localhost opt]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
     <title>JSP test1 page</title>
 </head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%>     //这里显示输出test1
</body>
</html>

[root@localhost opt]# vim /usr/local/tomcat9/conf/server.xml
... ... 省略
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            //添加下面两句话,docBase:web应用的文档基准目录
                              reloadable 设置监视“类”是否变化
                             path=""设置默认“类”
            <Context docBase="/web/webapp1" path="" reloadable="false">     
             </Context>          

[root@localhost opt]# /usr/local/tomcat9/bin/shutdown.sh
[root@localhost opt]# /usr/local/tomcat9/bin/startup.sh

重启tomcat服务后,我们在使用本地的火狐浏览器访问本地IP,检测首页内容是否成功写入

【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

tomcat服务器2的部署

挂载共享软件包,关闭防火墙

[root@localhost ~]# mkdir /abc      //创建挂载点
[root@localhost ~]# mount.cifs //192.168.234.1/ruanjiangongju /abc     //挂载共享软件包
Password for root@//192.168.234.1/ruanjiangongju:  
[root@localhost ~]# systemctl stop firewalld.service     //关闭防火墙
[root@localhost ~]# setenforce 0         //关闭增强性安全功能

安装jdk环境、安装tomcat9.0

[root@localhost tomcat]# rpm -ivh jdk-8u171-linux-x64.rpm    //一键式安装jdk的软件包

[root@localhost tomcat]# vim /etc/profile.d/java.sh     //编写一个java.sh的脚本,导入环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

[root@localhost tomcat]# source /etc/profile.d/java.sh     //刷新,使环境变量生效

[root@localhost tomcat]# tar zxvf apache-tomcat-9.0.8.tar.gz -C /opt     //解压缩tomcat9.0的软件包到/opt目录下

[root@localhost opt]# mv apache-tomcat-9.0.8/ /usr/local/tomcat9    //移动tomcat至/usr/local目录下,使系统能识别tomcat的命令

[root@localhost opt]# /usr/local/tomcat9/bin/startup.sh      //开启tomcat服务

[root@localhost opt]# netstat -ntap | grep 8080    //tomcat默认端口是8080端口,查看下8080端口是否开启

这里开启tomcat之后,用本地的火狐浏览器访问本地的IP地址测试,看能不能正常访问tomcat首页

【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

能正常访问之后,编写一个首页内容,便于后面的实验区分两个tomcat服务器

[root@localhost opt]# mkdir -pv /web/webapp1

[root@localhost opt]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
     <title>JSP test1 page</title>
 </head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%>     //输出test2
</body>
</html>

[root@localhost opt]# vim /usr/local/tomcat9/conf/server.xml
... ... 省略
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            //添加下面两句话,docBase:web应用的文档基准目录
                              reloadable 设置监视“类”是否变化
                             path=""设置默认“类”
            <Context docBase="/web/webapp1" path="" reloadable="false">     
             </Context>          

[root@localhost opt]# /usr/local/tomcat9/bin/shutdown.sh
[root@localhost opt]# /usr/local/tomcat9/bin/startup.sh

重启tomcat服务后,我们在使用本地的火狐浏览器访问本地IP,检测首页内容是否成功写入

【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

nginx调度服务器的部署

首先安装相关的环境包

[root@localhost ~]# yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y

挂载共享的软件文件夹,并且安装nginx1.12.0

[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.234.1/ruanjiangongju /abc
Password for root@//192.168.234.1/ruanjiangongju:

[root@localhost tomcat]# tar xf nginx-1.12.0.tar.gz -C /opt
[root@localhost nginx-1.12.0]# useradd  -s /bin/false www
[root@localhost tomcat]# cd /opt/nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure \
> --prefix=/usr/local/nginx \
> --user=www \
> --group=www \
> --with-file-aio \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --with-http_flv_module \
> --with-http_ssl_module

[root@localhost nginx-1.12.0]# make && make install

[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
... ...省略
#gzip  on;
        upstream tomcat-server { //定义服务池的名称                            #添加
              server 192.168.234.177:8080 weight=1;      
              server 192.168.234.181:8080 weight=1;     //地址指向两台tomcat服务器,权重为1
            }
... ...省略
location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat-server; #添加   //调用服务池

好了这样nginx调度服务器就配置好了,这里可以使用/usr/local/nginx/sbin/nginx -t,检查语法是否有错误

[root@localhost nginx-1.12.0]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

然后配置一个软链接,并且开启nginx服务,检查服务是否开启

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.12.0]# nginx

[root@localhost nginx-1.12.0]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      42557/nginx: master

好了,这边nginx的所有部署也都完成了,接下来就是使用win7客户机去访问nginx调度服务器的IP地址,查看是否能够实现负载均衡

【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

点击刷新,就可以看到首页内容在两个tomcat首页之间跳转了。

【纯干货】CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

这样就说明我们的实验成功了,那么至此nginx搭建tomcat9.0的负载均衡群集管理实验就完成了。

感谢各位看官点进来,要是觉得对您有帮助,请多多评价!!!