Linux下Nginx负载均衡多个tomcat配置的方法步骤

Linux下安装nginx和安装多个tomcat的方法这里不过多介绍,不清楚的可参考:

在岱岳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站制作 网站设计制作按需定制制作,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,外贸网站建设,岱岳网站建设费用合理。

Linux安装nginx:

https://www.jb51.net/article/159519.htm

Linux安装多个tomcat:

https://www.jb51.net/article/159521.htm

当我们服务器安装好了nginx,并且安装了多台tomcat,那么我们现在可以试着玩玩nginx的负载均衡

先简单介绍我的运行环境

一台阿里云服务器

Linux系统,jdk1.8, 已安装好nginx,

安装了4个tomcat,并且配置好了各端口号,分别对应8080,8081,8082,8083

Linux下Nginx负载均衡多个tomcat配置的方法步骤

一:进入nginx目录下的conf目录 

这是我的nginx安装目录:   

[root@aliServer ~]# cd /usr/local/nginx/conf

二:编辑nginx.conf

Linux下Nginx负载均衡多个tomcat配置的方法步骤

[root@aliServer conf]# vi nginx.conf

三:配置服务器组

1:在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

upstream nginxDemo {
  server 127.0.0.1:8081;  #服务器地址1
  server 127.0.0.1:8082;  #服务器地址2
  server 127.0.0.1:8082;  #服务器地址3
  server 127.0.0.1:8083;  #服务器地址4
}

2:修改nginx监听的端口号80

nginx默认端口是80,这里我暂未更改,保持不变

server {
  listen    80;   #默认是80,也可更改为其他的,当然已被占用的端口号不能写。
  ......
}

3:用proxy_pass配置反向代理地址

在location\{}中,利;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致(也就是nginxDemo这个名称是自定义的,两个地方需要一致)

location / {
      root  html;
      index index.html index.htm;
      proxy_pass http://nginxDemo; #配置方向代理地址
    }

配置完成后,如图:

Linux下Nginx负载均衡多个tomcat配置的方法步骤

四:启动nginx

我的安装nginx路径是  /usr/local/nginx

所以我的启动命令是:

[root@aliServer ~]# /usr/local/nginx/sbin/nginx

因为nginx之前安装时就已经启动了,现在再启动就报错端口号被占用

Linux下Nginx负载均衡多个tomcat配置的方法步骤

这时我们使用命令查看各端口号占用情况

[root@aliServer ~]# netstat -ntpl

Linux下Nginx负载均衡多个tomcat配置的方法步骤

我们看到,nginx被9097这个PID占用着,使用kill -9杀掉

[root@aliServer ~]# kill -9 9097

再次启动nginx

[root@aliServer ~]# /usr/local/nginx/sbin/nginx

没有任何反应,这就对了,这时在浏览器中输入你服务器地址

Linux下Nginx负载均衡多个tomcat配置的方法步骤

说明nginx启动成功,至于配置是否正确,是否能负载匀衡,现在开始验证。。。

五:验证

我们都知道,nginx负载均衡时客户端所有请求都经过nginx,那么nginx就可以决定将这些请求转发给谁,如果服务器A的资源更充分(CPU更多、内存更大等等),服务器B没有服务器A处理能力强,那么nginx就会把更多的请求转发到A,转发较少的请求到服务器B,这样就做到了负载均衡,而且就算其中一台服务器宕机了,对于用户而言也能正常访问网站。

在验证前,需要先做点准备。

1:准备一个简单点的jsp,如:

Linux下Nginx负载均衡多个tomcat配置的方法步骤

我一台服务器上安装了4个tomcat,所以我准备了4个index.jsp文件

分别是

Tomcat8080<title> <h2>Hellow Tomcat_8080</h2>
<title>Tomcat8081<title> <h2>Hellow Tomcat_8081</h2>
<title>Tomcat8082<title> <h2>Hellow Tomcat_8082</h2>
<title>Tomcat8083<title> <h2>Hellow Tomcat_8083</h2></pre></div><p>这里需要注意的是:jsp文件的名字一定要是index.jsp,因为tomcat启动成功的画面,如图:</p><p><img src="/upload/otherpic60/56444.png" alt="Linux下Nginx负载均衡多个tomcat配置的方法步骤"></p><p>读取就是tomcat安装目录下的webapps/ROOT/index.jsp</p><p>我的地址是:/usr/java/tomcat/tomcat_8080/webapps/ROOT</p><p><img src="/upload/otherpic60/56445.png" alt="Linux下Nginx负载均衡多个tomcat配置的方法步骤"></p><p>将先前准备的4个index.jsp文件,覆盖每个tomcat默认的index.jsp文件。</p><p>启个各个tomcat</p><div><pre>[root@aliServer bin]# ./startup.sh</pre></div><p>这时我们再在浏览器输入 xxx.xxx.xx.xx:8080  你会发现,不在出现那只小猫了,而是。。。。。。</p><p><img src="/upload/otherpic60/56446.png" alt="Linux下Nginx负载均衡多个tomcat配置的方法步骤"></p><p><img src="/upload/otherpic60/56447.png" alt="Linux下Nginx负载均衡多个tomcat配置的方法步骤"></p><p><img src="/upload/otherpic60/56448.png" alt="Linux下Nginx负载均衡多个tomcat配置的方法步骤"></p><p><img src="/upload/otherpic60/56449.png" alt="Linux下Nginx负载均衡多个tomcat配置的方法步骤"></p><p>4个tomcat都启动成功了,nginx也已启动成功了。</p><p>这时输入在浏览器输入你的服务器ip,不停的刷新页面,你会发现页面一会显示8080,一会显示8081,一会显示8082,一会显示8083,当然这个是nginx根据哪个服务器资源更充分而决定请求去什么地方的,我们在浏览器的请求的地址不变,却访问的是不同的tomcat服务器,说明,nginx配置成功。</p><p>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。</p>            
            
                            <br>
                当前文章:Linux下Nginx负载均衡多个tomcat配置的方法步骤                <br>
                分享地址:<a href="http://hbruida.cn/article/jcpddd.html">http://hbruida.cn/article/jcpddd.html</a>
            </div>
        </div>
        <div class="contentr fr">
            <h3>其他资讯</h3>
            <ul>
                <li>
                        <a href="/article/sceooi.html">直播ai翻译,译直播平台)</a>
                    </li><li>
                        <a href="/article/sceoep.html">汕尾短视频代运营团队招聘</a>
                    </li><li>
                        <a href="/article/scshjo.html">抖音短视频运营是什么类型</a>
                    </li><li>
                        <a href="/article/sceodd.html">洛阳短视频矩阵账号运营获客</a>
                    </li><li>
                        <a href="/article/sceosh.html">首页无内容的站点核心关键词排在百度首页</a>
                    </li>            </ul>
        </div>
    </div>
</div>
<!--底部-->
<footer>
    <div class="foot">
        <div class="container">
            <h1>小谭建站您身边的网站建设服务商</h1>
            <div class="foot1">
                <ul>
                    <li>
                        <dl><i class="iconfont"></i><b>地址ADDRESS</b></dl>
                        <p>四川-成都青羊区太升南路288号<br>
                            锦天国际A座10楼
                        </p>
                    </li>
                    <li>
                        <dl><i class="iconfont"></i><b>电话/TEL</b></dl>
                        <p><a href="tel:02886922220" target="_blank">028 86922220</a> (工作日)<br>
                            <a href="tel:18980820575" target="_blank">1898082 0575</a> ( 7x24 )
                        </p>
                    </li>
                    <li>
                        <dl><i class="iconfont"></i><b>QQ咨询</b></dl>
                        <p> 244261566 (售前)<br>
                            631063699 (售后)
                        </p>
                    </li>
                    <li>
                        <dl><i class="iconfont"></i><b>邮箱/E: mail</b></dl>
                        <p> service@cdcxhl.com (业务)<br>
                            hr@cdcxhl.com (求职)
                        </p>
                    </li>
                </ul>
            </div>
            <div class="link">
                友情链接:
                <a href="http://www.scarg.cn/" title="成都艾瑞格" target="_blank">成都艾瑞格</a>   <a href="http://m.xwcx.net/wangzhan/" title="定制级高端网站建设" target="_blank">定制级高端网站建设</a>   <a href="http://www.pwwzsj.com/" title="平武做网站" target="_blank">平武做网站</a>   <a href="http://www.cdhuace.com/logo.html" title="LOGO设计" target="_blank">LOGO设计</a>   <a href="http://www.cdxwcx.cn/tuoguan/nanchong.html" title="南充主机托管" target="_blank">南充主机托管</a>   <a href="http://www.cdfuwuqi.com/cloud/" title="云服务器" target="_blank">云服务器</a>   <a href="http://chengdu.cdcxhl.cn/jianshe/
" title="品牌网站建设" target="_blank">品牌网站建设</a>   <a href="http://m.cdcxhl.cn/wechat/
" title="微信开发" target="_blank">微信开发</a>   <a href="http://www.dearsh.com/" title="3D立体画" target="_blank">3D立体画</a>   <a href="http://www.xhgfhy.com/
" title="成都雨棚定制" target="_blank">成都雨棚定制</a>               </div>
        </div>
    </div>
    <div class="copy container">
        Copyright © 2017-2022 All Rights Reserved. 青羊区小谭信息技术咨询服务工作室  版权所有  <a href="http://www.beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2021004003号-22</a>
        [原创设计,独立版权。未经许可.不得拷贝或镜像]<br>
        <a href="http://www.kswsj.cn/" target="_blank">网站营销推广</a> | <a href="https://www.cdcxhl.com/pinpai.html" target="_blank">品牌网站设计</a> | <a href="http://www.cdweb.net/" target="_blank">自适应网站建设</a> | <a href="http://cdkjz.cn/wangzhan/pinpai/" target="_blank">品牌网站建设</a> | <a href="http://chengdu.cdxwcx.cn/" target="_blank">成都网站制作</a> | <a href="https://www.cdcxhl.com/cloud/" target="_blank">云服务器</a> | <a href="https://www.cdcxhl.com/weihu/abazhou.html" target="_blank">宜宾网站维护</a> | (宜宾网站建设QQ : 631063699 )</div>
</footer>
<!--在线咨询-->
<div class="fot">
    <ul>
        <li>
            <a href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" target="_blank">
                <img src="/Public/Home/img/fot1.png" alt="建站咨询">
                <p>在线咨询</p>
            </a>
        </li>
        <li>
            <a href="tel:18980820575" target="_blank">
                <img src="/Public/Home/img/fot2.png" alt="建站电话">
                <p>拨打电话</p>
            </a>
        </li>
    </ul>
</div>
</body>
</html>
<script>
    $(".con img").each(function(){
        var src = $(this).attr("src");    //获取图片地址
        var str=new RegExp("http");
        var result=str.test(src);
        if(result==false){
            var url = "https://www.cdcxhl.com"+src;    //绝对路径
            $(this).attr("src",url);
        }
    });
    window.onload=function(){
        document.oncontextmenu=function(){
            return false;
        }
    }
</script>