通常情况下,单个Tomcat站点由于可能出现单点故障而无法应付客户复杂多样的请求,所以需要结合Nginx强大的处理并发连接能力,将Nginx作为负载均衡器,用于调用Tomcat服务器,从而实现负载均衡群集。

Nginx+Tomcat网站拓扑架构

实验环境

主机 操作系统 IP地址 主要软件
Nginx服务器 Redhat6.5 192.168.100.107 Nginx-1.12
Tomcat服务器1 Redhat6.5 192.168.100.109:8080 ①jdk-8u91 ②apache-tomcat-8.5.16
Tomcat服务器2 Redhat6.5 192.168.100.109:8080 ①jdk-8u91 ②apache-tomcat-8.5.16

Nginx服务器配置

手动编译Nginx时需要检查依赖包是否存在,然后安装所需依赖包:

yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y

解压安装Nginx:

useradd -s /sbin/false www //添加Nginx系统账户
tar zxvf nginx-1.12.0.tar.gz -C /opt //解压Nginx

cd /opt/nginx-1.12.0/

./configure \
--prefix=/usr/local/nginx \  //指定安装路径
--user=www \                //指定用户
--group=www \               //指定组
--with-file-aio \           //启用文件修改支持
--with-http_stub_status_module \        //启用状态统计
--with-http_gzip_static_module \  //启用gzip静态压缩
--with-http_flv_module \          //启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_ssl_module   //启用SSL模块

编辑Nginx主配置文件,让Nginx可以调度提供服务的Tomcat服务器:

vim /usr/local/nginx/conf/nginx.conf

keepalive_timeout  65;#gzip  on;upstream tomcat_server {                //添加服务器地址池,配置权重为1;server 192.168.100.109:8080 weight=1;server 192.168.100.111:8080 weight=1;}
(......省略代码)
location / {root   html;index  index.html index.htm;proxy_pass http://tomcat_server;   //添加行,调用前面地址池名称

/usr/local/nginx/sbin/nginx -t //检查配置文件
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx //启动Nginx服务
netstat -ntap | grep nginx //查看服务是否开启
service iptables stop
setenforce 0

Tomcat服务器配置

1、配置Java环境

tar zxvf jdk-8u91-linux-x64.gz -C /opt 解压jdk软件包
mv jdk1.7.0_65/ /usr/local/java 设置工作目录
cd /etc/profile.d/ 配置环境变量
vim java.sh 配置环境变量脚本

export JAVA_HOME=/usr/local/java     //设置Java根目录//
export PATH=$PATH:$JAVA_HOME/bin     //在PATH环境变量中添加

source java.sh //使环境变量立即生效

2、安装配置Tomcat1

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8
/usr/local/tomcat8/bin/startup.sh 启动tomcat
netstat -ntap | grep 8080 监听8080端

创建测试页:

mkdir -pv /web/webapp1 //创建web目录//
vim /web/webapp1/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html><head><title>JSP test1 page</title></head><body><% out.println("Welcome to test site,http://www.test1.com");%>  </body>
</html>

vim /usr/local/tomcat7/conf/server.xml
编辑Tomcat主配置文件,添加首页内容站点

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><Context docBase="/web/webapp1" path="" reloadable="false">     //添加如下部分,以及站点目录
</Context>

配置完成后访问其服务:

3、安装配置Tomcat2

Tomcat配置与Tomcat1服务器完全一致,此处为了区分当Nginx服务器调度时是两个不同的Tomcat服务器,需要在Tomcat测试页中修改内容为test2;

4、测试负载均衡效果

当访问Nginx服务器时,Nginx服务会调用后面提供服务的Tomcat服务器,为了实现负载均衡,每次调用的服务器并不是同一个服务器:

转载于:https://blog.51cto.com/13659253/2130622

Nginx+Tomcat负载均衡群集相关推荐

  1. nginx 上传文件 405_今天教大家Nginx+tomcat负载均衡群集如何配置

    实验环境如下 这里需要准备4台服务器(1台nginx.2台tomcat做负载.一台MySQL做数据存储) 准备软件包如下: nginx配置(172.16.1.54) 1.安装依赖包 yum -y in ...

  2. Nginx+Tomcat 负载均衡集群方案

    2019独角兽企业重金招聘Python工程师标准>>> Nginx+Tomcat 负载均衡集群方案 该方案是我之前做过的一个项目生产应用的,目前运行良好,如何您生产使用,请先做好测试 ...

  3. Nginx+Tomcat负载均衡

    Nginx+Tomcat 负载均衡集群方案 该方案是我之前做过的一个项目生产应用的,目前运行良好,如何您生产使用,请先做好测试. 系统架构图 下载软件包 [root@Nginx-node1 src]# ...

  4. 搭建Nginx+Tomcat 负载均衡集群

    Nginx+Tomcat 负载均衡集群 一. 实验拓扑: 二. 实验要求: 1. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar ...

  5. Nginx+Tomcat负载均衡、动静分离集群

    Nginx+Tomcat负载均衡.动静分离集群 一.Nginx实现负载均衡原理 二.Nginx 配置反向代理的主要参数 三.Nginx 动静分离实现原理和优势 1.Nginx 静态处理优势 2.动静分 ...

  6. Nginx+Tomcat负载均衡、动静分离

    目录 一:Nginx实现负载均衡原理 二:Nginx动静分离原理 三:Nginx+Tomcat负载均衡.动静分离实验 3.1部署Nginx负载均衡器 3.1.1关闭防火墙,将安装nginx所需的软件包 ...

  7. Nginx+Tomcat负载均衡和动静分离理论实操详解来袭!

    文章目录 一:关于动静分离和负载均衡介绍 1.1:Nginx+Tomcat的动静分离 1.2:Nginx+Tomcat的负载均衡 1.3:Nginx配置反向代理的主要参数 二:Nginx+Tomcat ...

  8. Nginx + Tomcat 负载均衡集群配置

    摘要 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 已经因为它的稳定性.丰 ...

  9. 使用Redis存储Nginx+Tomcat负载均衡集群的Session

    配置Tomcat的session共享可以有三种解决方案: 第一种是以负载均衡服务器本身提供的session共享策略,每种服务期的配置是不一样的并且nginx本身是没有的. 第二种是利用web容器本身的 ...

最新文章

  1. 港媒:AI技术有望助力中国核潜艇升级
  2. Atomic Integer 原理分析-getAndAddInt
  3. spring 整合 mybatis 中数据源的几种配置方式
  4. 目前的计算机系统属于第三代电子计算机,计算机应用基础判断题
  5. vacode允许c_使用VS code编译运行C,C++,Java程序
  6. MS-DOS虚拟机安装
  7. 怎样清理计算机c盘东西,电脑c盘满了怎么清理
  8. 这10个免费学习网站,个个堪称神器,不收后悔!
  9. Android Studio ---------------- 软件使用小细节(更新中。。。。。。)
  10. C++单元测试框架Gtest的配置与使用过程
  11. matlab colarbar设置,matlab color bar 如何改变色调
  12. 最好用的mac免费PDF阅读器是什么?
  13. Office快捷键大全之三(Access快捷键上篇)
  14. 电商常识图谱构建及搜索推荐场景下的应用
  15. 苹果微信多开_苹果手机微信双开,微信多开有哪些可以推荐的?
  16. 改进duilib的richedit控件的部分功能
  17. 电脑计算器所有快捷键
  18. 同一个浏览器开不同窗口使得session不同的方法
  19. 拆解博朗一款剃须刀,质量真心差。德吹可以休已
  20. 如何确定windows弹出的广告窗口是哪个程序导致并找出来

热门文章

  1. android mvp_Android MVP
  2. java输入一串字符串反转_反转Java中的字符串
  3. python匿名函数_Python匿名函数
  4. jsf 导航_JSF导航规则示例教程
  5. kernel oops_Java中的OOPS概念– OOPS概念示例
  6. json 例子_json-简单的例子
  7. 开课吧:人工智能技术会如何影响青年就业
  8. 基于OpenCV的计算机视觉入门(1)图片操作入门
  9. idea新建web项目并配置运行教程
  10. 深入学习JavaScript: apply 方法 详解