关于Nginx+Tomcat负载均衡群集的实战详解
admin
2023-02-25 04:20:05
0

下文给大家带来关于Nginx+Tomcat负载均衡群集的实战详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。 

实验拓扑图

关于Nginx+Tomcat负载均衡群集的实战详解

实验环境部署

云服务器角色IP地址操作系统
Nginx服务器192.168.142.131centos 7
tomcat 01服务器192.168.142.134centos 7
tomcat 02服务器192.168.142.130centos 7

实验步骤

第一步:配置Nginx服务器

#安装环境
[root@nginx ~]#yum install gcc gcc-c++ pcre-devel zlib-devel 

#添加Nginx管理用户
[root@nginx ~]# useradd -M -s /sbin/nologin nginx

#远程共享源码包
[root@nginx ~]# smbclient -L //192.168.142.1
[root@nginx ~]# mount.cifs //192.168.142.1/tomcat /mnt

#解压源码包
[root@nginx ~]# cd /mnt
[root@nginx ~]# tar zxvf nginx-1.12.0.tar.gz -C /opt

[root@nginx mnt]# cd /opt/nginx-1.12.0/

#进行configure配置
[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

#创建软连接让系统识别nginx启动脚本
[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  

#开启服务
[root@nginx nginx-1.12.0]# nginx

[root@nginx nginx-1.12.0]# systemctl stop firewalld.service

[root@nginx nginx-1.12.0]# setenforce 0

#启动配置文件目录创建启动脚本
[root@nginx nginx-1.12.0]# vim /etc/init.d/nginx  
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
    start)
        $PROG
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    reload)
        kill -s HUP $(cat $PIDF)
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
esac
exit 0

#添加执行权限
[root@nginx nginx-1.12.0]# chmod +x /etc/init.d/nginx

#将nginx增加到service管理
[root@nginx nginx-1.12.0]# chkconfig --add nginx

#启动服务
[root@nginx nginx-1.12.0]# service nginx start

#查看服务端口状态
[root@nginx nginx-1.12.0]# netstat -ntap | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      42092/nginx: master 

#修改配置文件
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf

 #gzip  on;
 #追加以下四行条目,用以定义tomcat服务池并分配权重
     upstream tomcat-server {
                server 192.168.142.134:8080 weight=1;
                server 192.168.142.130:8080 weight=1;
                }

    server {
        listen       80;
        server_name  localhost;

        #追加以下四行条目,用以支持
        location ~.*.jsp$ {
          proxy_pass http://tomcat-server;
          proxy_set_header Host $host;
        }

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            #追加以下一行条目,用以调用tomcat服务池资源
            proxy_pass http://tomcat-server;
        }

        #追加以下四行条目,用以支持各类图片的缓存30天
        location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
            root html/test;
            expires 30d;
        }

#检查语法
[root@nginx nginx-1.12.0]# 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

#重启服务,并查看服务端口状态
[root@nginx nginx-1.12.0]# service nginx stop
[root@nginx nginx-1.12.0]# service nginx start
[root@nginx nginx-1.12.0]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      69680/nginx: master

#创建站点目录
[root@nginx nginx-1.12.0]# mkdir /usr/local/nginx/html/test

#复制图片到站点目录中
[root@nginx nginx-1.12.0]# cp /mnt/game.jpg /usr/local/nginx/html/test

第二步:配置Tomcat01服务器

#远程共享源码包
[root@tomcat01 ~]# smbclient -L //192.168.142.1
[root@tomcat01 ~]# mount.cifs //192.168.142.1/tomcat /mnt

#解压源码包
cd /mnt
[root@tomcat01 mnt]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local
[root@tomcat01 mnt]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/

#声明环境变量
[root@tomcat01 mnt]# vim /etc/profile

export JAVA_HOME=/usr/local//jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#生效环境变量 
[root@tomcat01 mnt]# source /etc/profile

[root@tomcat01 ~]# cd /usr/local
[root@tomcat01 local]# mv apache-tomcat-8.5.16/ tomcat

##创建tomcat启动脚本的软链接到系统目录中,方便系统识别
[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/

#创建tomcat关闭脚本的软链接到系统目录中,方便系统识别
[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/

#启动服务 
[root@tomcat01 local]# startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local//jdk1.8.0_91/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

#查看服务端口状态
[root@tomcat01 local]# netstat -ntap | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      111655/java 

#创建站点目录
[root@tomcat local]# mkdir /usr/local/tomcat/webapps/test

#编辑站点首页内容
[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>


 
  
  动态网页 
 
 
  
Welcom to Jiangsu

[root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml #在第149行下追加以下条目, #重启服务 [root@tomcat01 local]# shutdown.sh [root@tomcat01 local]# startup.sh #关闭防火墙和安全功能 [root@tomcat02 local]# systemctl stop firewalld.service [root@tomcat02 local]# setenforce 0

第三步:配置Tomcat02服务器,步骤和Tomcat01服务器一样

#编辑站点首页内容
[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>


 
  
  动态网页 
 
 
  
Welcom to NanJing

第四步:使用客户机验证网页

关于Nginx+Tomcat负载均衡群集的实战详解
关于Nginx+Tomcat负载均衡群集的实战详解

以下网页内容不一样,是为了验证负载均衡群集的轮询机制,真实线网环境中网页内容是一样的!

看了以上关于Nginx+Tomcat负载均衡群集的实战详解,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。官网链接www.yisu.com

 


相关内容

热门资讯

伊朗确认前往美国参加世界杯:将... 当地时间5月6日,伊朗国家足球队主教练在接受采访时表示,伊朗国家足球队将于美加墨世界杯开始前14天抵...
雷达、机库、营房、燃料库、飞机... 据《华盛顿邮报》5月6日报道,通过卫星影像分析发现,自2月28日战事爆发以来,伊朗空袭已在中东美军军...
从买买买到租租租,“租用一代”... “五一”假期还在路上,年轻人已经“租”起来了。 “租三天,不到300块钱。”五一放假前一周,清清已给...
【品牌】摩托罗拉大折叠屏新机定... 此前联想预热将于5月19日19点举行联想天禧AI一体多端全场景新品超能之夜活动,届时将带来多款新品,...
常州欣隽益取得接线端子用快速冲... 国家知识产权局信息显示,常州欣隽益科技有限公司取得一项名为“接线端子用快速冲切装置”的专利,授权公告...
美媒:特朗普在结束伊朗战争问题... 据“国会山”网站5月6日报道,周二晚间,美国总统特朗普突然宣布终止旨在打破伊朗对霍尔木兹海峡掌控的军...
和创硅材料取得熔融石英制品擦洗... 国家知识产权局信息显示,东海县和创硅材料有限公司取得一项名为“一种熔融石英制品的擦洗脱泥装置”的专利...
美商务部长再就爱泼斯坦案接受国... 5月6日,美国商务部长卢特尼克“自愿”就其与爱泼斯坦的关系接受美国国会众议院监督与政府改革委员会的问...
“五一”小长假黄金零售市场新变... 【大河财立方 记者 孙凯杰】 “五一”小长假,黄金价格出现一波短暂调整,线下黄金零售市场热度如何?5...
以军3周来首次袭击黎巴嫩首都 据以色列总理内塔尼亚胡和国防部长卡茨当地时间5月6日晚发表的联合声明,以军当天对黎巴嫩首都贝鲁特南郊...