下载安装tomcat

官网:https://tomcat.apache.org/download-70.cgi

这里做演示,需要两个tomcat做负载,分别命名为tomcat1和tomcat2

Nginx搭建负载均衡 - 图1

通过XFtp5将这个Tomcat传递到CenterOS系统中,结果如图所示:
Nginx搭建负载均衡 - 图2

tomcat配置


tomcat1访问端口定为 18080
tomcat2访问端口定为 28080

修改tomcat1的配置文件server.xml:
有三处地方需要修改:
命令:
cd tomcat1/conf/
vi server.xmlNginx搭建负载均衡 - 图3

修改tomcat1的server.xml文件,如下:
Nginx搭建负载均衡 - 图4

Nginx搭建负载均衡 - 图5
Nginx搭建负载均衡 - 图6

修改tomcat2的配置文件server.xml:

同样有三处地方需要修改:
Nginx搭建负载均衡 - 图7
Nginx搭建负载均衡 - 图8
Nginx搭建负载均衡 - 图9

然后启动两个Tomcat,
通过命令:
./startup.sh
我的提示权限不够,则执行命令: chmod u+x *.sh 来给与权限
最后再在bin命令行重启应用服务:
[root@localhost bin]# ./startup.sh
Nginx搭建负载均衡 - 图10

不过我的出现没有安装JDK的错误,所有接下来我要先安装JDK:

安装JDK

1.查看yum库中都有哪些jdk版本
命令:
yum search java|grep jdk

如图所示:
Nginx搭建负载均衡 - 图11

2.选择版本,进行安装

这里安装18.0版本
Nginx搭建负载均衡 - 图12
安装完成:
Nginx搭建负载均衡 - 图13

安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.8.0 /usr/share/java-1.8.0
Nginx搭建负载均衡 - 图14

3.设置环境变量
命令:
vi /etc/profile
Nginx搭建负载均衡 - 图15
添加以下环境变量

  1. #set java environment
  2. export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64
  3. export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64
  4. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools

如图所示
Nginx搭建负载均衡 - 图16

让修改生效:
命令: source /etc/profileNginx搭建负载均衡 - 图17
安装成功:
java -version
Nginx搭建负载均衡 - 图18

访问:
tomcat1启动命令 ./startup.sh
Nginx搭建负载均衡 - 图19
Nginx搭建负载均衡 - 图20

同理启动Tomcat2:
Nginx搭建负载均衡 - 图21
如图:
Nginx搭建负载均衡 - 图22

nginx配置

接下来修改nginx的配置文件,修改方法更简单了
nginx的配置文件一般在nginx的安装目录下conf/nginx.conf
Nginx搭建负载均衡 - 图23

配置如下(这里只进行了简单的配置,实际生产环境可以进行更详细完善配置):

1.    worker_processes  1;#工作进程的个数,一般与计算机的cpu核数一致  
2.      
3.    events {  
4.        worker_connections  1024;#单个进程最大连接数(最大连接数=连接数*进程数)  
5.    }  
6.      
7.    http {  
8.        include       mime.types; #文件扩展名与文件类型映射表  
9.        default_type  application/octet-stream;#默认文件类型  
10.      
11.        sendfile        on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。  
12.          
13.        keepalive_timeout  65; #长连接超时时间,单位是秒  
14.      
15.        gzip  on;#启用Gizp压缩  
16.          
17.        #服务器的集群  
18.        upstream  netitcast.com {  #服务器集群名字   
19.            server    127.0.0.1:18080  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
20.            server    127.0.0.1:28080  weight=2;  
21.        }     
22.      
23.        #当前的Nginx的配置  
24.        server {  
25.            listen       80;#监听80端口,可以改成其他端口  
26.            server_name  localhost;##############   当前服务的域名  
27.      
28.        location / {  
29.                proxy_pass http://netitcast.com;  
30.                proxy_redirect default;  
31.            }  
32.              
33.      
34.            error_page   500 502 503 504  /50x.html;  
35.            location = /50x.html {  
36.                root   html;  
37.            }  
38.        }  
39.    }

核心的配置如下:
Nginx搭建负载均衡 - 图24
基本配置完成

启动测试

进入到nginx的目录启动
如果已启动则先关闭再启动
Nginx搭建负载均衡 - 图25

访问测试

Nginx搭建负载均衡 - 图26

Nginx搭建负载均衡 - 图27

多刷新几次,就可以看到页面在tomcat1和tomcat2之间切换,而且tomcat1的次数要多于tomcat2

目前为止,仅仅是配置了nginx和tomcat的负载均衡服务,只适用于访问无状态的服务,如果tomcat的应用中有信息需要保存在session,那么现在所搭建的服务还不够,因为session还不能共享,这个稍后再讲