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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯干货CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理相关的知识,希望对你有一定的参考价值。

【纯干货】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,挂载共享软件包,关闭防火墙

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

安装jdk环境、安装tomcat9.0

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

[[email protected] 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

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

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

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

[[email protected] opt]# /usr/local/tomcat9/bin/startup.sh      //开启tomcat服务

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

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

技术分享图片

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

[[email protected] opt]# mkdir -pv /web/webapp1

[[email protected] 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>

[[email protected] 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>          

[[email protected] opt]# /usr/local/tomcat9/bin/shutdown.sh
[[email protected] opt]# /usr/local/tomcat9/bin/startup.sh

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

技术分享图片

tomcat服务器2的部署

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

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

安装jdk环境、安装tomcat9.0

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

[[email protected] 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

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

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

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

[[email protected] opt]# /usr/local/tomcat9/bin/startup.sh      //开启tomcat服务

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

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

技术分享图片

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

[[email protected] opt]# mkdir -pv /web/webapp1

[[email protected] 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>

[[email protected] 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>          

[[email protected] opt]# /usr/local/tomcat9/bin/shutdown.sh
[[email protected] opt]# /usr/local/tomcat9/bin/startup.sh

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

技术分享图片

nginx调度服务器的部署

首先安装相关的环境包

[[email protected] ~]# yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y

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

[[email protected] ~]# mkdir /abc
[[email protected] ~]# mount.cifs //192.168.234.1/ruanjiangongju /abc
Password for [email protected]//192.168.234.1/ruanjiangongju:

[[email protected] tomcat]# tar xf nginx-1.12.0.tar.gz -C /opt
[[email protected] nginx-1.12.0]# useradd  -s /bin/false www
[[email protected] tomcat]# cd /opt/nginx-1.12.0/
[[email protected] 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

[[email protected] nginx-1.12.0]# make && make install

[[email protected] 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,检查语法是否有错误

[[email protected] 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服务,检查服务是否开启

[[email protected] nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[[email protected] nginx-1.12.0]# nginx

[[email protected] 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地址,查看是否能够实现负载均衡

技术分享图片

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

技术分享图片

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

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

以上是关于纯干货CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理的主要内容,如果未能解决你的问题,请参考以下文章

基于centos7搭建nginx与tomcat集群负载均衡

Centos7下搭建Django+uWSGI+nginx基于python3

#yyds干货盘点#Ubuntu 基于Nginx1.8的Golang环境搭建(Ubuntu 20.04 + Nginx1.8 + Golang 1.17 )

CentOS7.4—nginx应用之基于域名的虚拟主机

centos7 上nginx php环境的搭建

centos7.4 搭建nginx反向缓存代理