使用 Tomcat+Nginx 实现负载均衡群集

使用 Tomcat+Nginx 实现负载均衡群集

  • 一、Tomcat 概述
  • 二、部署 Tomcat 服务器
    • 1.安装配置 Tomcat
    • 2.使用浏览器访问测试
    • 3.建立 Java 的 Web 站点
      • 1)建立 Web 目录
      • 2)建立 Java 测试页面
      • 3)修改 Tomcat 主配置文件
      • 4)重启 Tomcat 服务
      • 5)使用浏览器访问测试
  • 三、使用 Tomcat+Nginx 实现负载均衡群集
    • 1.部署 Nginx 服务器
      • 1)安装 Nginx 软件
      • 2)配置 Nginx 主配置文件
    • 2.测试负载均衡效果

一、Tomcat 概述

  • Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目;
  • 由 Apache,Sun 和其它一些公司及个人共同开发而成。
  • 与传统的桌面应用程序不同,Tomcat 中的应用程序是一个 WAR(Web Archive)文件。
  • WAR 是 Sun 提出的一种 Web 应用程序格式,与 JAR 类似,也是许多文件的一个压缩包。

二、部署 Tomcat 服务器

准备工作:

主机名 操作系统 IP地址
Tomcat-A CentOS7 192.168.1.1
  • 实验所需软件包从这个链接下载:https://pan.baidu.com/s/1G_UZ-me5UiFH2QrZBVFZlw
  • 提取码:1qe8

1.安装配置 Tomcat

  • 安装 JDK,部署 JAVA 环境:
[root@Tomcat-A ~]# ls
anaconda-ks.cfg  apache-tomcat-8.5.16.tar.gz  jdk-8u91-linux-x64.tar.gz
[root@Tomcat-A ~]# tar zxf jdk-8u91-linux-x64.tar.gz 						#解压
[root@Tomcat-A ~]# mv jdk1.8.0_91/ /usr/local/java							#移动,并重命名
[root@Tomcat-A ~]# cat <<END >> /etc/profile								#设置环境变量
export JAVA_HOME=/usr/local/java
export PATH=$PATH:/usr/local/java/bin
END
[root@Tomcat-A ~]# source /etc/profile
[root@Tomcat-A ~]# java -version											#查看java版本号

使用 Tomcat+Nginx 实现负载均衡群集_第1张图片

  • 安装 Tomcat 软件程序:
[root@Tomcat-A ~]# tar zxf apache-tomcat-8.5.16.tar.gz              		#解压
[root@Tomcat-A ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8       		#移动,并重命名
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/startup.sh                		#启动Tomcat
[root@Tomcat-A ~]# netstat -anpt | grep 8080  								#默认工作在8080端口
[root@Tomcat-A ~]# netstat -anpt | grep java  								#查看java端口号

使用 Tomcat+Nginx 实现负载均衡群集_第2张图片
注解:

  • 8005端口:用 shutdown.sh 关闭 Tomcat 的时候需要用到的端口号,如果此端口没启动,Tomcat 没办法用 shutdown 命令关闭。
  • 8009端口:是 Tomcat 负责和其他的 HTTP 服务器建立连接的端口,如 Nginx 和 Apache 互通时使用。(AJP/1.3 协议)
  • 8080端口:HTTP 访问时使用的端口。(HTTP/1.1 协议)

2.使用浏览器访问测试

使用 Tomcat+Nginx 实现负载均衡群集_第3张图片

3.建立 Java 的 Web 站点

1)建立 Web 目录

[root@Tomcat-A ~]# mkdir -p /web/tomcat

2)建立 Java 测试页面

[root@Tomcat-A ~]# echo "192.168.1.1:Tomcat-A" > /web/tomcat/index.jsp

3)修改 Tomcat 主配置文件

[root@Tomcat-A ~]# vim /usr/local/tomcat8/conf/server.xml
148-151行添加:
<Context docBase="/web/tomcat" path="" reloadable="false">
</Context>

使用 Tomcat+Nginx 实现负载均衡群集_第4张图片
注解:

  • unpackWARs="true":设置自动识别 war 包。
  • autoDeploy="true":开启自动部署。
  • Context docBase="/web/tomcat":网页根目录。
  • path="":设置网页;就相当于是 Nginx 中的 Location。
  • reloadble="false":不会自动重新加载 Web 应用,设置为 true 则会根据文件被改动后自动重新加载。

4)重启 Tomcat 服务

[root@Tomcat-A ~]# /usr/local/tomcat8/bin/shutdown.sh
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/startup.sh

使用 Tomcat+Nginx 实现负载均衡群集_第5张图片

5)使用浏览器访问测试

使用 Tomcat+Nginx 实现负载均衡群集_第6张图片

三、使用 Tomcat+Nginx 实现负载均衡群集

准备工作:

主机名 操作系统 IP地址
Tomcat-A CentOS7 192.168.1.1
Tomcat-B CentOS7 192.168.1.2
Nginx-Server CentOS7 192.168.1.3

注意:

  • Tomcat-A 可以用上面实验材料;
  • Tomcat-B 跟 Tomcat-A 步骤一样,但页面要区分开,方便测试;

1.部署 Nginx 服务器

1)安装 Nginx 软件

[root@Nginx-Server ~]# yum -y install pcre-devel zlib-devel openssl-devel gcc*
[root@Nginx-Server ~]# useradd -M -s /sbin/nologin nginx
[root@Nginx-Server ~]# ls
anaconda-ks.cfg  nginx-1.12.0.tar.gz
[root@Nginx-Server ~]# tar zxf nginx-1.12.0.tar.gz -C /usr/src/
[root@Nginx-Server ~]# cd /usr/src/nginx-1.12.0/
[root@Nginx-Server nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make && make install
[root@Nginx-Server nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

使用 Tomcat+Nginx 实现负载均衡群集_第7张图片

2)配置 Nginx 主配置文件

[root@Nginx-Server ~]# vim /usr/local/nginx/conf/nginx.conf
32行添加:
upstream tomcat_server {
     
    server 192.168.1.1:8080 weight=1;
    server 192.168.1.2:8080 weight=1;
}
49行添加:
proxy_pass http://tomcat_server;

使用 Tomcat+Nginx 实现负载均衡群集_第8张图片

[root@Nginx-Server ~]# nginx -t									#检查 Nginx 配置文件是否正确
[root@Nginx-Server ~]# nginx									#启用 Nginx 服务
[root@Nginx-Server ~]# ps aux | grep nginx						#查看 Nginx 服务进程
[root@Nginx-Server ~]# netstat -anpt | grep nginx				#查看 Nginx 端口号及进程号

使用 Tomcat+Nginx 实现负载均衡群集_第9张图片

2.测试负载均衡效果

使用浏览器访问 Nginx 服务器 IP 地址:
使用 Tomcat+Nginx 实现负载均衡群集_第10张图片
不断刷新页面,观察页面变化:
使用 Tomcat+Nginx 实现负载均衡群集_第11张图片
使用脚本查看效果:

[root@Nginx-Server ~]# for i in $(seq 10);do curl http://192.168.1.3;done

使用 Tomcat+Nginx 实现负载均衡群集_第12张图片

你可能感兴趣的:(综合项目,Tomcat+Nginx群集,负载均衡群集,tomcat,linux,nginx反向代理)