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

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 960

03、Tomcat安装

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

80.jpg

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

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

81.jpg

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

82.jpg

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 内容如下:

83.jpg

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

84.jpg

4)测试

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

ip:8080,结果如下:

85.jpg

ip:8081,结果如下:

86.jpg

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地址,多次刷新,看看效果:

87.jpg88.jpg

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

赶紧去试试吧!

本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: