Nginx+Tomcat负载均衡实验

环境准备

实验用三台虚拟机,一台为Nginx负载均衡服务器,另外两台使用Tomcat提供web服务,具体配置如下:

主机名 IP地址 说明
LB(load balance) 192.168.100.30 做Nginx负载均衡
Web01 192.168.100.40 Web01服务器
Web02 192.168.100.50 Web02服务器


对三台服务器做基础配置(IP配置、yum源、关闭防火墙及Linux),详细过程略

LB安装配置Nginx

Nginx配置在前几篇文章有列出,不做赘述,详情请参见 分类页——云系统维护——Nginx单点部署 或 标签页——Nginx单点部署

两台web服务器安装配置Tomcat

注:两台web服务器做相同配置,此处仅以web01做演示,web02服务器做相同配置即可
Tomcat的安装配置与前几篇写过的 Tomcat配置类似

JDK环境安装

  1. 检查jdk安装情况
    [root@localhost ~]# rpm -qa | grep jdk
    最小化安装的系统没有安装jdk,如虚拟机中已安装openJDK,需先卸载
    查找本机上是否安装openJDK:
    [root@localhost ~]# rpm -e java-1.7.0-openjdk
  2. 新建jvm目录
    [root@localhost ~]# mkdir -p /usr/lib/jvm
  3. 下载并解压JDK到jvm目录下,参数-C指定要将文件解压到何处
    [root@localhost ~]# tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm
    jdk-7u80-linux-x64.tar.gz
  4. 修改解压目录名称为java
    [root@localhost ~]# cd /usr/lib/jvm/
    [root@localhost jvm]# mv jdk1.7.0_80/ java

配置环境变量

  1. 在文件/etc/profile末尾加上以下环境变量
    1
    2
    3
    4
    export JAVA_HOME=/usr/lib/jvm/java
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
  2. 使环境变量生效
    [root@localhost jvm]# source /etc/profile
  3. 检查java安装结果,出现如下内容说明安装成功
    [root@localhost jvm]# java -version

    java version “1.7.0_80”
    Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

安装部署Tomcat

  1. 教学云平台下载并使用secureFX上传Tomcat安装包apache-tomcat-7.0.90.zip到/root目录
    点我下载apache-tomcat-7.0.90.zip
  2. 安装解压工具
    [root@localhost ~]#yum install unzip -y
  3. 解压tomcat
    [root@localhost ~]# unzip apache-tomcat-7.0.90.zip
  4. 复制解压后的文件到/opt/tomcat
    [root@localhost ~]# cp -r apache-tomcat-7.0.90 /opt/tomcat
  5. 编辑启动tomcat脚本文件startup.sh,末尾添加以下内容(/opt/tomcat/bin)
    1
    2
    3
    4
    5
    JAVA_HOME=/usr/lib/jvm/java
    JRE_HOME=${JAVA_HOME}/jre
    PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}
    CLASSPATH=.:${JAVA_HOME}/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JRE_HOME}/lib/tools.jar
    TOMCAT_HOME=/opt/tomcat
  6. 编辑关闭tomcat脚本文件shutdown.sh,末尾添加以下内容
    1
    2
    3
    4
    5
    JAVA_HOME=/usr/lib/jvm/java
    JRE_HOME=${JAVA_HOME}/jre
    PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}
    CLASSPATH=.:${JAVA_HOME}/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JRE_HOME}/lib/tools.jar
    TOMCAT_HOME=/opt/tomcat
  7. 修改Tomcat的bin目录下.sh权限
    [root@localhost ~]# chmod u+x /opt/tomcat/bin/*.sh
  8. 启动Tomcat
    [root@localhost ~]# /opt/tomcat/bin/startup.sh
    输出以下内容则表示成功:
  9. 验证Tomcat安装启动结果
    浏览器访问192.168.100.130:8080,如下图tomcat欢迎界面所示则表示配置成功。

    注:若访问不成功,请检查虚拟机防火墙配置。

修改两台web服务器tomcat主页文件以标识两台服务器

[root@localhost ~]# vi /opt/tomcat/webapps/ROOT/index.jsp
在与之间添加标识本台服务器的IP地址,方便后面负载均衡的结果查看

注:以下IP请根据自身情况修改配置

Web01:

web02:

web01显示效果:

web02显示效果:

LB服务器Nginx负载均衡配置并验证

  1. 修改nginx主配置文件
    [root@localhost ~]# vi /etc/nginx/nginx.conf
    upstream节点设置负载均衡服务器列表,将需要负载均衡的两台服务器配置加入进去:
  2. 重启nginx
  • 查看nginx pid号:
    [root@localhost ~]# pe -ef | grep nginx
  • kill掉nginx进程:
    [root@localhost ~]# kill -9 4748
    [root@localhost ~]# kill -9 4749
  • 启动nginx:
    [root@localhost ~]# /usr/local/nginx/sbin/nginx
  1. 浏览器验证访问nginx
    浏览器访问http://192.168.100.30,不停刷新,页面将在Tomcat01和Tomcat02两台服务器来回切换