Nginx+Tomcat负载均衡群集案例
1.案例环境如下
2.案例实施
Tomcat server 的部署(两台Tomcat server 做同样配置)
-
关闭防火墙
因为是在虚拟机里,为了实验方便,直接关闭了firewalld
[root@localhost ~]# systemctl stop firewalld -
查看JDK是否安装
[root@localhost ~]# 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) -
安装Tomcat
解压apache-tomcat-8.5.30.tar.gz包
[root@localhost ~]# tar zxvf apache-tomcat-8.5.30.tar.gz
将解压生成的文件加移动到/usr/local/下,并改名为tomcat8
[root@localhost ~]# mv apache-tomcat-8.5.30 /usr/local/tomcat8
启动tomcat
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh
tomcat默认运行在8080端口,netstat命令可以查看8080端口监听的信息
[root@localhost ~]# netstat -anpt | grep 8080 -
浏览器测试Tomcat网站
http:127.0.0.1:8080
Tomcat已经成功启动(记得访问8080端口!) -
建立Java的web站点和测试文件
[root@localhost ~]# mkdir -p /web/webapp1
[root@localhost ~]# vi /web/webapp1/index.jsp
test web 1
两台Tomcat的测试文件可以不一样,方便观察效果! -
修改server.xml文件
定义一个虚拟主机,并将网站文件路径指向已建立的/web/webapp1,在host段(148行)添加context段。
[root@localhost ~]# vi /usr/local/tomcat8/conf/server.xml
-
重启Tomcat并访问测试网站
[root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh
Tomcat server 2上访问http:172.16.16.173:8080
Tomcat server 1上访问http:172.16.16.172:8080
Nginx 服务器部署
1.安装Nginx
yum安装相关软件包
[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl- devel gcc*
为Nginx创建一个不登陆系统的用户
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
解压nginx-1.12.0.tar.gz 包
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
对Nginx进行编译
[root@localhost 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
[root@localhost nginx-1.12.0]# make && make install
创建软连接
[root@localhost 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的默认站点通过proxy_pass http://tomcat_server;代理到设定好的tomcat_server负载均衡服务器组上。
2.测试Nginx配置文件是否正确
3.启动Nginx服务
由于前边做过软连接,这里可以直接启动nginx
[root@localhost ~]# nginx
4.测试负载均衡
不断刷新页面,由于权重相同,所以会在两个页面来回切换,说明负载均衡群集搭建成功
也可以使用脚本查看效果
[root@localhost ~]# for i in $(seq 10); do curl http://172.16.16.170 ;done