Nginx+Tomcat负载均衡群集案例

Nginx+Tomcat负载均衡群集案例

1.案例环境如下

Nginx+Tomcat负载均衡群集案例

2.案例实施

Tomcat server 的部署(两台Tomcat server 做同样配置)

  1. 关闭防火墙
    因为是在虚拟机里,为了实验方便,直接关闭了firewalld
    [[email protected] ~]# systemctl stop firewalld

  2. 查看JDK是否安装
    [[email protected] ~]# java -version
    openjdk version “1.8.0_102”
    OpenJDK Runtime Environment (build 1.8.0_102-b14)
    OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
    这里输出显示的是Java版本号(1.8.0_102)和JRE确切的build号(1.8.0_102-b14)

  3. 安装Tomcat
    解压apache-tomcat-8.5.30.tar.gz包
    [[email protected] ~]# tar zxvf apache-tomcat-8.5.30.tar.gz
    将解压生成的文件加移动到/usr/local/下,并改名为tomcat8
    [[email protected] ~]# mv apache-tomcat-8.5.30 /usr/local/tomcat8
    启动tomcat
    [[email protected] ~]# /usr/local/tomcat8/bin/startup.sh
    Nginx+Tomcat负载均衡群集案例
    tomcat默认运行在8080端口,netstat命令可以查看8080端口监听的信息
    [[email protected] ~]# netstat -anpt | grep 8080
    Nginx+Tomcat负载均衡群集案例

  4. 浏览器测试Tomcat网站
    http:127.0.0.1:8080
    Tomcat已经成功启动(记得访问8080端口!)Nginx+Tomcat负载均衡群集案例

  5. 建立Java的web站点和测试文件
    [[email protected] ~]# mkdir -p /web/webapp1
    [[email protected] ~]# vi /web/webapp1/index.jsp
    test web 1

    两台Tomcat的测试文件可以不一样,方便观察效果!

  6. 修改server.xml文件
    定义一个虚拟主机,并将网站文件路径指向已建立的/web/webapp1,在host段(148行)添加context段。
    [[email protected] ~]# vi /usr/local/tomcat8/conf/server.xml

    Nginx+Tomcat负载均衡群集案例

  7. 重启Tomcat并访问测试网站
    [[email protected] ~]# /usr/local/tomcat8/bin/shutdown.sh
    [[email protected] ~]# /usr/local/tomcat8/bin/startup.sh

    Tomcat server 2*问http:172.16.16.173:8080
    Nginx+Tomcat负载均衡群集案例
    Tomcat server 1*问http:172.16.16.172:8080
    Nginx+Tomcat负载均衡群集案例

Nginx 服务器部署

1.安装Nginx

yum安装相关软件包
[[email protected] ~]# yum -y install pcre-devel zlib-devel openssl- devel gcc*
为Nginx创建一个不登陆系统的用户
[[email protected] ~]# useradd -M -s /sbin/nologin nginx
解压nginx-1.12.0.tar.gz 包
[[email protected] ~]# tar zxvf nginx-1.12.0.tar.gz
[[email protected] ~]# cd nginx-1.12.0/
对Nginx进行编译
[[email protected] nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
//–user=nginx --group=nginx 指定运行的用户和组
// --with-http_stub_status_module 启用状态统计

安装Ningx
[[email protected] nginx-1.12.0]# make && make install
创建软连接
[[email protected] nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

配置Nginx

1.编辑配置文件vim /usr/local/nginx/conf/nginx.conf
在http{…}模块中加入以下代码,设定负载均衡服务器列表,weight参数表示权重,权重越高被分配到的几率越大,为了测试效果,把权重设为一样。
Nginx+Tomcat负载均衡群集案例
把Nginx的默认站点通过proxy_pass http://tomcat_server;代理到设定好的tomcat_server负载均衡服务器组上。
Nginx+Tomcat负载均衡群集案例
2.测试Nginx配置文件是否正确
Nginx+Tomcat负载均衡群集案例
3.启动Nginx服务
由于前边做过软连接,这里可以直接启动nginx
[[email protected] ~]# nginx

4.测试负载均衡
不断刷新页面,由于权重相同,所以会在两个页面来回切换,说明负载均衡群集搭建成功Nginx+Tomcat负载均衡群集案例Nginx+Tomcat负载均衡群集案例
也可以使用脚本查看效果
[[email protected] ~]# for i in $(seq 10); do curl http://172.16.16.170 ;done
Nginx+Tomcat负载均衡群集案例