Nginx+Tomcat 群集

Nginx+Tomcat 群集

Tomcat简介

  • 最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发
  • 安装Tomcat后,安装路径下面的目录和文件,是使用或者配置Tomcat的重要文件

Tomcat重要目录

  • bin :存放启动和关闭Tomcat脚本
  • conf :存放Tomcat不同的配置文件
  • doc:存放Tomcat文档
  • lib:存放Tomcat运行需要的库文件
  • logs:存放Tomcat执行时的LOG文件
  • src:存放Tomcat的源代码
  • webapps:Tomcat的主要Web发布目录
  • work:存放jsp编译后产生的class文件

Nginx应用

  • Nginx是一款非常优秀的HTTP服务器软件
  • 支持高达50 000个并发连接数的响
  • 拥有强大的静态资源处理能力
  • 运行稳定
  • 内存、CPU等系统资源消耗非常低
  • 目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力

Nginx负载均衡实现原理

  • Nginx实现负载均衡是通过反向代理实现
    反向代理原理:
    在这里插入图片描述
  • Nginx配置反向代理的主要参数
    (1)upstream服务池名{}
    配置后端服务器池,以提供响应数据
    (2)proxy_pass http://服务池名
    配置将访问请求转发给后端服务器池的服务器处理
  • Nginx+Tomcat用到了upstream模块

Nginx动静分离实现原理动静分离原理

  • 服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端
    在这里插入图片描述

Nginx动静分离实现原理

  • Nginx静态处理优势
  1. Nginx处理静态页面的效率远高于Tomcat的处理能力
  2. 若Tomcat的请求量为1000次,则Nginx的请求量为6000次
  3. Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M
  4. Nginx处理静态资源的能力是Tomcat处理的6倍

项目部署

一、基础环境

  • 关闭防火墙、内核安全机制
  • 修改主机名
hostnamectl set-hostname nginx
hostnamectl set-hostname tomcat01
hostnamectl set-hostname tomcat02
hostnamectl set-hostname client

二、部署Nginx

这里用的是编译安装nginx
在nginx节点安装

yum -y install gcc gcc_* make
yum -y install pcre-devel zlib-devel
rpm -qa | grep -e pcre-devel -e zlib-devel
useradd -M -s /sbin/nologin nginx

上传nginx的tar包
tar zxvf nginx-1.12.0.tar.gz -C /usr/src/

cd /usr/src/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
cd /usr/local/nginx/sbin/
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
cd
nginx -t    # 检查语法是否有问题
nginx   # 启动nginx

三、安装tomcat

tomcat01和02节点安装
这里tomcat和jdk的包已下载下来,需要的可以在网上自行下载

  • 解压jdk的包
rpm -ivh jdk-8u102-linux-x64\ \(1\).rpm
  • 写环境变量
    在最后一行添加
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_102/
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME:/bin:$PATH

source /etc/profile  # 刷新环境变量
  • 查看java版本
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)
  • 安装Tomcat
tar zxvf apache-tomcat-9.0.8.tar.gz
  • 启动服务
mv apache-tomcat-9.0.8 /usr/local/tomcat
cd /usr/local/tomcat/
bin/startup.sh 
  • 检测是否安装成功
    访问浏览器 【部署tomcat的IP地址】:8080
    回显下方网页即可
    在这里插入图片描述
  • 两个tomcat节点写入测试页面
vi /usr/local/tomcat/webapps/ROOT/index.jsp 
把里面的内容全部删除写入tomcat01和02
  • 进行测试
    打开网页输入两个tomcat节点的IP地址:8080,进行测试回显tomcat01和02即可

四、配置Nginx

  • 在nginx节点进行配置
 vi /usr/local/nginx/conf/nginx.conf
在第大概第33行#gzip  on;下添加
 upstream tomcat {
  server 192.168.11.160:8080 weight=1;  (第一台tomcat的IP地址)
  server 192.168.11.161:8080 weight=1;  (第二台tomcat的IP地址)
   }
在第49~52行左右location段下面添加
 location ~ .*.jsp$ {
        proxy_pass http://tomcat;
 }
  • 重载服务
nginx -s reload
  • 在client节点访问nginx的IP地址
curl 【nginx节点的ip地址】
PS:若在后面加上/index.jsp,轮流显示tomcat01和02即可

curl 【nginx节点的ip地址】/index.jsp

在这里插入图片描述

  • 在第一台机器写测试内容
    进入nginx网站根目录写入测试内容
cd /usr/local/nginx/html/
vi index.html 
删除全部内容,写入ngxix(这是测试内容)
  • 在client节点进行访问
curl 【nginx节点的ip地址】 回显nginx即可
目的:搭建高可用、高性能的jsp集群 二、初始化系统 #init system 系统环境: CentOS 5.5(定制安装) 组件: Base Development Libraries Development Tools Editors Text-based Internet ./init_system.sh #此脚本参见http://kerry.blog.51cto.com/172631/555535 三、LVS+keeplived #关于LVS+keeplived的配置请参考我的另一篇博文《CentOS5.5环境下布署LVS+keepalived 》http://kerry.blog.51cto.com/172631/401253 四、nginxtomcat整合 #config web_1、web_2 #download software cd /opt wget http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz wget http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-i586.bin wget http://nginx.org/download/nginx-1.0.0.tar.gz wget http://ftp.exim.llorien.org/pcre/pcre-8.12.tar.gz wget http://apache.etoak.com//tomcat/tomcat-connectors/native/1.1.20/source/tomcat-native-1.1.20-src.tar.gz wget http://archive.apache.org/dist/apr/apr-1.4.2.tar.gz wget http://archive.apache.org/dist/apr/apr-util-1.3.9.tar.gz #================================ 1、安装tomcat、JDK ================================= mv apache-tomcat-6.0.32.tar.gz jdk-6u25-linux-i586.bin /usr/local/ tar -zxvf apache-tomcat-6.0.32.tar.gz mv apache-tomcat-6.0.32 tomcat chmod +x jdk-6u25-linux-i586.bin ./jdk-6u25-linux-i586.bin #apr 与 tomcat-native 提供更好的伸缩性、性能和集成到本地服务器技术,如果没有apr技术,启动tomcat 时出现如下提示 #INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_25/jre/lib/i386/client:/usr/local/jdk1.6.0_25/jre/lib/i386:/usr/local/jdk1.6.0_25/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib rpm -e --nodeps apr-1.2.7-11.el5_3.1 rpm -e --nodeps apr-1.2.7-11.el5_3.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值