阿卡丽,建立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的功效

1 概述

初期的互联网企业因为事务量较小,所以一般单机布置,完结单点拜访即可满意事务的需求,这也是最简略的布置方法,可是跟着事务的不断扩大,体系的拜访量逐步的上升,单机布置的形式已无法承载现有的事务量,需求进行服务集群化布置,本文首要介绍服务端Tomcat多实例布置,以及怎么确保web服务的高可用计划。

  • Nginx 是一个高性能的 HTTP反向署理服务器
  • Keepalived 是一个根据VRRP协议来完结的LVS服务高可用计划,能够运用其来防止服务的单点毛病
  • Tomcat 是一个免费的开放源代码的Web 应用服务器,归于轻量级应用性动态服务器。

2 Nginx的高可用负载均衡架构

如下图:为典型的Tomcat服务多实例布置的架构图

(1)用户经过域名恳求到DNS,姜异康最新去向由DNS解析域名后回来对应的IP地址,该IP及为Keepalived映射服务器的虚拟IP

(2)经过该虚拟IP拜访到对应的负载均衡器(Nginx),这儿Nginx布置两个,然后经过Keepalived来确保NG的高可用,正常情况下由Keepalived-M将虚拟IP映射转发至Nginx-M,假如Nginx-M呈现毛病,此刻Keepalived会切换至Keepalived-S开端作业,然后确保了NG的单点毛病问题。

(3)经过Nginx负载均衡器,将恳求路由到对应的Tomcat服务。

3 树立Keepalived + Nginx + Tomcat的高可用负载均衡架构

3.1 需求预备的软件

(微信最新版别1)apache-tomcat-8.5.16.tar.gz

(2)nginx-1.12.2.tar.gz

(3)keepalived-1.3.9.tar.gz

3.2 服务器预备

两台服务器如:192.168.10.11,192.168.10.1优2

3.3 装置需求的依靠包

$ yum -y ins阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效tall gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel

3.4 装置

3.4.1 装置Tomcat

(1)别离在两台服务器中装置Tomcat,解压apache-tomcat-8.5.16.tar.gz及可完结装置。

3.4.2 装置Nginx

(1)解压装置包:tar -zxvf nginx-1.12.阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效2.tar.gz

(2)进入到nginx-1.12.2目录:cd nginx-1.12.2

(3)编译:

a) ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx

b) sudo make && sudo make install

3.4.3 装置Keepalived

(1)解压装置包:tar -zxvf keepalived-1.3.9.tar.gz

(2)进入到keepalived-1.3.9目录:cd keepalived-1.3.9

(3)履行编译:

a)./configure --prefix=/usr/local/keepalived --sysconf=/etc

b)sudo阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效 make && sudo make install

3.5 装备

3.5.1 别离装备两台服务器的Nginx

(1)别离修正两台服务器nginx装备文件,vi /usr/local/nginx/conf/nginx.conf

(2)内容如下:

#nginx进程数
worker_processes 1;
#单个进程最大衔接数
events {
worker_connections 1024;
}
#http服务器装备
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#长衔接超时时刻,单位是秒
keepalive_timeout 65;
#upstream负载均衡装备,装备路由到tomcat的服务地址以及权重
upstream localhost{
server 192.168.10.11:8080 weight=2;
server 192.168.10.12:8080 weight=2;
}

#虚拟主机的装备
server {
#监听端口
listen 80;
#域名能够有多个,用空格离隔
server_name localhost;
location / {
root html;
index index.html index.htm;
#nginx跟后端服务器衔接超时时刻(署理衔接超时)
proxy_connect_timeout 3;
#后端服务器数据回传时刻(署理发送超时)
proxy_send_timeout 30;
#衔接成功后,后端服务器呼应时刻(署理接纳超时)
proxy_read_timeout 30;
pramountoxy_pass http://localhost;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

3.5.2 主Keepalived装备

(1)修正11服务器的keepalived装备文件,vi /etc/keepalived/keepalived.conf

(2)内容如下:

! Configuration File for keep金正南alived
#大局装备
global_defs {
#keepalived切换的时分,发消息到指定的email,可装备多个email
notification_email {
feinik1@foxmail.com
feinik2@foxmail.com
}
#告诉邮件从哪个地址宣布
notification_email_from feinik@fo韩锳xmail.com
#告诉邮件的smtp地址
smtp_server smtp.exmail.qq.com
#衔接smtp服务器的超时时刻,单位秒
smtp_connect_timeout 30
#Keepalived的机器标识,一个网络内坚持仅有
router_id nginx-master
}
#履行脚本装备
vrrp_script chk_nginx {
#脚本地点途径
script "/home/project/keepalived/check_nginx.sh"
#脚本履行距离时刻,秒
interval 2
#优先级
weight 2
}
#keepalived实例装备
vrrp_instance VI_1 {
#指定实例的初始状况,MASTER或BACKUP两种状况,而且需求大写
state MASTER
#实例绑定的网卡
interface ens33
#虚拟路由标识,是一个数字,整个VRRP内仅有,假如keepalived装备了主备,需求相同
virtual_router_id 51
#优先级,数值愈大,优先级越高
priority 100
#MASTER与BACKUP之间同步检查的时刻距离,单位为秒
advert_int 1
#通讯验证
authentication {
auth_type PASS
auth_pass feinik
}
#追寻外围脚本
track_script {
#这儿装备vrrp_script的称号
chk_nginx
}
#虚拟ip装备,可装备多个
virtu不拘一格降人才al_ipaddress {
192.168.10.200
}
}

3.5.3 备Keepalived装备

(1)修正12服务器的keepalived装备文件,anywayvi /etc/keepalived/keepalived.conf

(2)内容如下:

! Configuration File for keepalived
#大局装备
global_defs {
#keepalived切换的时分,发消息到指定的email,可装备多个email
notification_email {
feinik1@foxmail.com
feinik2@foxmail.com
}
#告诉邮件从哪个地址宣布
notification_email_from feinik@foxmail.com
#告诉邮件的smtp地址
smtp_server smtp.exmail.qq.com
#衔接smtp服务器的超时时刻,单位秒
smtp_connect_timeout 30
#Keepal阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效ived的机器标识,一个网络内坚持仅有
router_id nginx-master
}
#履行脚本装备
vrrp_script chk_nginx {
#脚本地点途径
script "/home/project/keepalived/check_nginx.sh"
#脚本履行距离时刻,秒
interval 2
#优先级
weight 2
}
#keepalived实例装备
vrrp_instance VI_1 {
#指定实例的初始状况,MASTER或BACKUP两种状况,而且需求大写
state BACKUP
#实例绑定的网卡
interface ens33
#虚拟路由标识,是一个数字,整个VRRP内仅有,假如keepalived装备了主备,需求相同
virtual_router_id 51
#优先级,数值愈大,优先级越高
priority 99
#MAS阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效T阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效ER与BACKUP之间同步检查的时刻距离,单位为秒
advert_int 1
#通讯验证
authentication {
auth_type PASS
auth_pass feinik
}
#追寻外围脚本
track_script {
#这儿装备vrrp_script的称号
chk_nginx
}
#虚拟ip装备,可装备多个
virtual_ipaddress {
192.168.10.200
}
}

3.5.4 Nginx状况检查脚本创立

(1)新建Nginx的状况检查脚本:check_nginx.sh

(2)内容如下:

#!/bin/sh
NGINX=/usr/common咳嗽有痰吃什么好的快/nginx/sbin/nginx
PORT=80
nmap localhost -p $PORT | grep "$PORT/tcp open"
#echo $?
if [ $? -ne 0 ];then萧红
$NGINX -s stop
#这儿再次测验发动NG
$NGINX
sleep 5
nmap localhost -p $POR直播港澳台最新一期T | grep "$PORT/tcp open"
[ $? -ne 0 ] && cd /u天下网sr/common/keepa待产包清单lived/sbin && pkill keepalived
echo "stoped"精油
fi

4 运转测验

(1)为了更直观的检查到keepalived切换的作用,将11服务器中的nginx的upstream服务只装备11的tomca经典老歌500首t服务地址,12服务器中的upstream服务只装备12的tomcat服务地址,这样只需求调查将11服务器中的nginx封闭看运用虚拟ip是否能够拜访到12服务器的阿卡丽,树立Keepalived + Nginx + Tomcat的高可用负载均衡架构,辣木籽的成效tomc对领导班子的定见和主张at。

(2)别离发动两个服务器中的tomcat、nginx、keepalived,拜访虚拟ip:192.168.10.200,能够检查到拜访的是主keepalived服务器的tomcat

(3)封闭11服务器的nginx,nginx -s stop,再次拜访虚拟ip,如下:说明主keepali祖冲之ved经过装备的脚本检测到了本服务的nginx服务挂掉了,所以立马切换至了红斑狼疮图片备的keepalived,这时12服务器的keepalived升为了主,所以就拜访到了12服务器的tomcat。

  •   Bannockburn Global Forex首席商场策略防冻液多久换一次,下周美联储降息50个基点成梦想 美元总算攻破98关口,宝玑师Marc Chandler标明,

  •   振华

  • 最新留言