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

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

tomcat的重要目录

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

Nginx负载均衡实现原理

  • Nginx实现负载均衡是通过反向代理实现的
  • Nginx配置反向代理的主要参数

upstream 服务池名{}

配置后端服务器池,以提供响应数据

proxy_pass http://服务池名

配置将访问请求转发给后端服务器池的服务器处理

Nginx动静分离实现原理

  • 动静分离原理

服务端接收来自客户端的请求中,机油静态资源也有动态资源,静态资源由Nginx提供服务,动态资源由Nginx转发至后端

在这里插入图片描述

Nginx+Tomcat项目

现在nfs机上操作
先关闭防火墙
[root@nfs ~]# systemctl stop firewalld
[root@nfs ~]# setenforce 0
先创建 目录
[root@nfs ~]# mkdir /web1
[root@nfs ~]# mkdir /web2
在创建一个文本

[root@nfs ~]# cd /web1
[root@nfs web1]# vi index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>tomcat1</title>
</head>
<body>
<% out.println("this is tomcat1 server");%>
<div>动态页面</div><br/><img src="a.jpg" />
</body>
</html>

在这里插入图片描述

在添加图片
在这里插入图片描述
[root@nfs ~]# cd /web1
[root@nfs web1]# ll
总用量 52
-rw-r–r--. 1 root root 47792 12月 7 17:52 a.jpg
-rw-r–r--. 1 root root 230 12月 7 17:19 index.jsp
然后在cp 文件到 web2上
[root@nfs web1]# cp index.jsp /web2
[root@nfs web1]# cd /web2
[root@nfs web2]# vi index.jsp
在这里插入图片描述

在tomcat1机上操作
按解压包jdk-8u91-linux-x64.tar.gz 和 apache-tomcat-8.5.16.tar.gz
在剪切
mv jdk1.8.0_91/ /usr/local/java
[root@tomcat1 ~]# vi /etc/profile
末尾添加
export JAVA_HOME=/usr/local/java
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin:$JAVA_HOME/jre
在这里插入图片描述
[root@tomcat1 ~]# source /etc/profile
[root@tomcat1 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin:/usr/local/java/jre
[root@tomcat1 ~]# java -version
openjdk version “1.8.0_131”
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
在创建一个文本
[root@tomcat1 ~]# vi abc.java
public class abc {
public static void main (String[] args) { System.out.println(“你瞅啥!!!”);
}
}~
在这里插入图片描述

[root@tomcat1 ~]# java abc
你瞅啥!!!
在解压apache-tomcat-8.5.16.tar.gz
[root@tomcat1 ~]# tar zxvf apache-tomcat-8.5.16.tar.gz
进行剪切重命名
[root@tomcat1 ~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8
[root@tomcat1 ~]# mkdir /webapp1
[root@tomcat1 ~]# mount 20.0.0.14:/web1 /webapp1
在修改配置文件
[root@tomcat1 ~]# vi /usr/local/tomcat8/conf/server.xml
在<Host name=“localhost” appBase=“webapps”
unpackWARs=“true” autoDeploy=“true”>
下添加命令行
<Context docBase="/webapp1" path="" reloadable=“false”> </Context>
在这里插入图片描述
在进行软链接

[root@tomcat1 ~]# ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup
[root@tomcat1 ~]# ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown
[root@tomcat1 ~]# tomcatup
[root@tomcat1 ~]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      48120/java   
在网页上输入 http://20.0.0.12(本机ip)

在这里插入图片描述

tomcat2同上
在这里插入图片描述

在主调度器上操作
先解压包

tar zxvf nginx-1.12.2.tar.gz

在Nginx下 创建一个不能登录的用户

cd nginx-1.12.2/
useradd -M -c /usr/sbin/nologin nginx

在安装yum源,并且编译安装

yum -y install pcre-devel.x86_64 zlib-devel.x86_64
cd nginx-1.12.2/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install

在软连接

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

在修改配置文件

vi /usr/local/nginx/conf/nginx.conf
 upstream tomcat_server {
 server 20.0.0.12:8080 weight=1;
 server 20.0.0.13:8080 weight=1;
 }

在这里插入图片描述
在添加命令行

 proxy_pass http://tomcat_server;
}

在这里插入图片描述
开启服务并且 看看有没有报错

Nginx
[root@nginx1 ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

在解压Keepalived的压缩包
tar zxvf keepalived-2.0.13.tar.gz
在进行yum源安装 并且编译安装
yum -y install popt-devel.x86_64 kernel-devel openssl-devel
./configure --prefix=/
make && make install
cp keepalived/etc/init.d/keepalived /etc/init.d
在修改配置参数
[root@nginx1 ~]# vi /etc/init.d/keepalived
在这里插入图片描述
chkconfig --add keepalived
chmod +x /etc/init.d/keepalived
systemctl enable keepalived.service
[root@nginx1 ~]# vi /etc/keepalived/keepalived.conf
添加命令行


! Configuration File for keepalived
global_defs {  
router_id nginx1  ##本服务器的名称}
vrrp_script chk_http_port {     
script "/usr/local/
src/nginx.sh"    
 interval 2     
 weight 2}
 vrrp_instance VI_1 {  ##定义VRRP热备实例
 state MASTER ##热备状态,MASTER(主服务器)interface ens33  ##承载VIP地址的物理接口virtual_router_id 51  ##虚拟路由器的ID号,每个热备组保持一致
 priority 110  ##优先级,数值越大优先级越高advert_int 1  ##通告间隔秒数(心跳频率)authentication {  ##热备认证信息,每个热备组保持一致  
 auth_type PASS  ##认证类型  a
 uth_pass 6666  ##密码字符串 }
 track_script {       chk_http_port}virtual_ipaddress {  ##指定漂移地址(VIP20.0.0.200
 }
 }

在这里插入图片描述
在写一个脚本
[root@nginx1 ~]# vi /usr/local/src/nginx.sh

#!/bin/bash
A=\`ps -C nginx --no-header | wc -l\`
if [ $A -eq 0 ]
then /usr/local/nginx/sbin/nginx  
if [ `\ps -C nginx --no-header | wc -l\` -eq 0 ]  
then  exit 1  
else  exit 0  
fielse exit 0
fi

在这里插入图片描述
给与权限
chmod +x /usr/local/src/nginx.sh
在重启服务
systemctl restart keepalived.service
看漂移地址是不是在 主调度器上
ip addr
在这里插入图片描述
在这里插入图片描述

备调度器同上

在[root@nginx2 ~]# vi /etc/keepalived/keepalived.conf 配置文件中有一点不一样
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值