手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

03、Tomcat安装

直接访问 tomcat 官网(http://tomcat.apache.org/),下载对应的安装包,本次案例选择的是apache-tomcat-8.5.45.tar.gz版本,本次安装环境是centos7

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

上传到对应的服务器文件夹中,之后解压文件夹

tar -zxvf apache-tomcat-8.5.40.tar.gz

重新命名

mv apache-tomcat-8.5.40 tomcat-1

同样的,再次解压安装包,命名为tomcat-2

mv apache-tomcat-8.5.40 tomcat-2

1)修改 tomcat 端口号

将 tomcat-1 的 http 端口设置为8080,将 tomcat-2 的 http 端口设置为8081。

进入tomcatconf文件夹,修改server.xml

vim server.xml

修改SHUTDOWNHTTP/1.1redirectPortAJP/1.3端口,使其错开,避免重启的时候,报端口被占用问题

tomcat-1 的SHUTDOWNHTTP/1.1redirectPortAJP/1.3设置如下:

<!--关闭服务端口-->
<Server port="9005" shutdown="SHUTDOWN">
...
<!--HTTP服务端口8080,跳转端口9443-->
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443" />

<!--AJP服务端口-->
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
...
</Server>

tomcat-2 的SHUTDOWNHTTP/1.1redirectPortAJP/1.3设置如下:

<!--关闭服务端口-->
<Server port="10005" shutdown="SHUTDOWN">
...
<!--HTTP服务端口8081-->
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="10443" />

<!--AJP服务端口-->
<Connector port="10009" protocol="AJP/1.3" redirectPort="10443" />
...
</Server>

2)启动服务

分别进入 tomcat-1 、 tomcat-2 的bin文件夹,执行脚本,启动服务

sh startup.sh

查看服务是否启动成功

ps -ef|grep tomcat

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

说明已经启动成功了,可以直接在浏览器上分别输入ip:8080ip:8081进行访问了,结果如下:

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

3)编写Html

为了便于测试,我们创建一个html格式的页面,文件命名为index.html,内容如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        Hello server!
    </body>
</html>

进入tomcatwebapps文件夹,删除ROOT文件夹里面的东西,创建index.html文件;

在 tomcat-1 中,index.html 内容如下:

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

在 tomcat-2 中,index.html 内容如下:

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

4)测试

创建好了之后,分别在浏览器*问ip:8080ip:8081

ip:8080,结果如下:

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

ip:8081,结果如下:

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

04、Nginx实现负载均衡

进入 Nginx 的配置文件夹

cd /usr/local/nginx/conf

编辑nginx.conf配置文件

vim nginx.conf

主要新增upstream集群配置点,配置如下:

worker_processes  1;

events {
    worker_connections  1024;
}

http {  
    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    gzip  on;

     #服务器的集群(这个就是我们要配置的地方)
     #test.com:服务器集群名字,自定义
    upstream  test.com {
        #服务器配置   weight是权重的意思,权重越大,分配的概率越大。
        #127.0.0.1:8080、127.0.0.1:8081对应tomcat服务器地址
        server    127.0.0.1:8080  weight=1;
        server    127.0.0.1:8081  weight=2;
    }

    server {  
        listen       81;
        server_name  localhost;

    location / {
    ·        #配置反向代理地址
            proxy_pass http://test.com;
            proxy_redirect default;
        }


        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  
    }  
}

参数说明:

•worker_processes:工作进程的个数,一般与计算机的cpu核数一致•worker_connections:单个进程最大连接数(最大连接数=连接数*进程数)•include:文件扩展名与文件类型映射表•default_type:默认文件类型•sendfile :开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。•keepalive_timeout:长连接超时时间,单位是秒•upstream:服务器的集群配置点

配置好之后,进入/usr/local/nginx/sbin/ 文件夹,重新刷新配置文件

./nginx -s reload

最后,访问Nginx服务器所在ip:81地址,多次刷新,看看效果:

手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!(二)

至此,Nginx 与 Tomcat 搭配实现负载均衡已经配置完了,是不是很酷!

赶紧去试试吧!

    上一篇:聊一聊 Android 6.0 的运行时权限


    下一篇:让user组用户登录时自动运行需要administrator权限的程序