1. Nginx安装

(1) 环境:分别在2台服务器上部署nginx且步骤一致: 如192.138.86.1和192.138.86.2

(2) 下载官网最新稳定版,地址:https://nginx.org/en/download.html,本教程使用的是1.14.2版

(3) 安装Nginx的依赖包

a. 源码编译使用gcc: yum -y install ggc-c++

b. 正则表达式解析时使用pcre:yum -y install pcre pcre-devel

c. 压缩时使用的zlib:yum -y install zlib zlib-devel

d. openssl: yum -y install openssl openssl-devel

(4) 解压:tar –zxvf nginx-1.14.2.tar.gz; cd nginx-1.14.2

(5) 配置并编译:./configure –prefix=/usr/local/nginx && make && make install

(6) 启动nginx: cd /usr/local/nginx/sbin/; ./nginx

(7) 关闭nginx: ./nginx -s stop

(8) 重新加载配置文件:./nginx -s reload

(9) 设置开机自启:在/etc/rc.local中增加一行"/usr/local/nginx/sbin/nginx",并增加执行权限 chmod 755 /etc/rc.local

2. Keepalived安装配置

(1) 环境准备:安装服务器与nginx相同,vip分别为192.138.86.3和192.138.86.4

(2) 安装依赖:yum -y install libnl libnl-devel libnfnetlink-devel

(3) 官网下载稳定版的Keepalived,地址:http://www.keepalived.org/download.html,本文下载的是2.0.10

(4) 解压缩:tar -zxvf keepalived-2.0.10.tar.gz

(5) 配置并编译:./configure –prefix=/usr/local/keepalived && make && make install

(6) keepalived注册为系统服务:

a. cp /usr/local/src/keepalived-2.0.10/keepalived/etc/init.d/keepalived /etc/init.d/

b. cp /usr/local/src/keepalived-2.0.10/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

c. cp /usr/local/src/keepalived-2.0.10/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

(7) keepalived启动:service keepalvied start|stop|restart

(8) 86.1上的配置文件/etc/keepalived/keepalived.conf的内容如下:

! Configuration File for keepalived

global_defs {
notification_email {
test@example.com
}
notification_email_from research@nagios3.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id NGINX_DEVEL
} vrrp_script chk_http_port {
script "/usr/local/nginx/monitor_nginx.sh"
interval
weight -
fall
rise
} vrrp_instance VI_1 {
state MASTER
interface em1
virtual_router_id
priority
advert_int
mcast_src_ip 192.138.86.1
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.138.86.3
}
track_interface {
em1
}
track_script {
chk_http_port
}
} vrrp_instance VI_2 {
state BACKUP
interface em1
virtual_router_id
priority
advert_int
mcast_src_ip 192.138.86.1
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.138.86.4
}
track_interface {
em1
}
track_script {
chk_http_port
}
}

(9) 86.2上的配置文件/etc/keepalived/keepalived.conf的内容如下:

! Configuration File for keepalived

global_defs {
notification_email {
test@example.com
}
notification_email_from research@nagios3.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id NGINX_DEVEL
} vrrp_script chk_http_port {
script "/usr/local/nginx/monitor_nginx.sh"
interval
weight -
fall
rise
} vrrp_instance VI_1 {
state BACKUP
interface em1
virtual_router_id
priority
advert_int
mcast_src_ip 192.138.86.2
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.138.86.3
}
track_interface {
em1
}
track_script {
chk_http_port
}
} vrrp_instance VI_2 {
state MASTER
interface em1
virtual_router_id
priority
advert_int
mcast_src_ip 192.138.86.2
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.138.86.4
}
track_interface {
em1
}
track_script {
chk_http_port
}
}

说明:

a. 1和2上分别有虚拟ip3和4

b. 1和2上的keepalived基于vip互为主从

c. vrrp_script中的内容为nginx的心跳检测,其内容为:

 #!/bin/bash

 DATE=$(date)
LogName=$(date +"%Y%m%d")
A=`ps -C nginx --no-header |wc -l`
logs=/usr/local/nginx/logs/nginx_check.$LogName.logs if [ $A -eq 0 ];then
cd /usr/local/nginx
echo "$DATE keepalived monitor start nginx" >> $logs
sudo ./sbin/nginx
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
echo "$DATE killall keepalived" >> $logs
sudo killall keepalived
fi
else
echo "$DATE keepalived monitornginx is ok" >> $logs
f

(10) 重启keepalived,然后尝试关闭主keepalived和nginx验证配置是否生效

Nginx+Keepalived配置的更多相关文章

  1. nginx:负载均衡实战(四)nginx+keepalived配置双机热备

    1.下载安装 下载keepalived地址:http://www.keepalived.org/download.html 解压安装: tar -zxvf keepalived-.tar.gz 安装o ...

  2. nginx;keepalived配置出现主主的解决方法(脑裂问题)

    1.查看日志 tail -f /var/log/messages 发现master和backup机都是mastaer模式启动的 通过查看别人的经历,发现VRRP基于报文实现的.master设置一定时间 ...

  3. Nginx+Keepalived 主备高可用 安装与配置

    环境说明:操作系统:CentOS6.7 x86_64Nginx版本:nginx-1.9.7Keepalived版本:keepalived-1.2.24 主nginx + Keepalived :10. ...

  4. Nginx +keepalived

    Nginx +keepalived   配置高可用的Nginx 准备环境: 节点node17,node18   lftp 172.16.0.1:/pub/Sources/6.x86_64/nginx ...

  5. Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例

    前言 此示例为keepalived+nginx+tomcat的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...

  6. nginx+keepalived+tomcat之具体配置档

    前沿知识点: nginx负责负载均衡(反向代理) msm(memcached session manager)负责缓存会话信息,从而实现会话保持 所需包: nginx和memcached采用最新稳定版 ...

  7. Nginx keepalived实现高可用负载均衡详细配置步骤

    Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing(负载均衡) ...

  8. 使用Keepalived配置主从热备实现Nginx高可用(HA)

    Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务 ...

  9. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

随机推荐

  1. 【SQL】- 基础知识梳理(二) - SQL简介

    一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...

  2. unix网络编程str_cli使用epoll实现

    unix网络编程str_cli使用epoll实现 unix环境高级编程中也有这个函数,都是为了讲解IO多路转接.从本质上来看epoll就是一个改善了的select和poll,本质没发生任何变化,对于构 ...

  3. 手动给kvm虚机挂载lvm卷

    1.查看计算节点上虚机挂载的卷 [root@xgto01n010243186070 ~]# virsh domblklist instance- Target Source ------------- ...

  4. 关于MultiDataTrigger和MultiTrigger的一些注意事项

    他俩有着相同的语法. 都是在conditions中编写触发条件. 因为都是同一个触发类. 在conditions中有Property和Binding这两个属性.那么这两个可以同时使用吗?当然是不可以的 ...

  5. 6w6:第六周程序填空题3

    描述 下面的程序输出结果是: A::Fun A::Do A::Fun C::Do 请填空: #include <iostream> using namespace std; class A ...

  6. 190308python-MySQL

    一.Python连接MySQL import pymysql conn = pymysql.connect(host='192.168.100.4', port=3306, user='dongfei ...

  7. PHP脚本占用内存太多,解决方案

    Fatal Error: Allowed memory size of xxxxxx bytes exhausted 今天遇到服务器很多自动任务的php脚本占用服务内存过多,并且程序不在运行了. 解决 ...

  8. phpmyadmin更改用户名和密码

    我是用的xampp集成环境,wampp也差不多.另外没有配图,希望读者可以在实践的过程中有所思考,本文的主旨就是:找一个不叫root但和root一样厉害的人来管理数据库. 1,做个准备 首先创建一个和 ...

  9. 分布式中为什么要加入redis缓存的理解

    面我们介绍了mybatis自带的二级缓存,但是这个缓存是单服务器工作,无法实现分布式缓存.那么什么是分布式缓存呢?假设现在有两个服务器1和2,用户访问的时候访问了1服务器,查询后的缓存就会放在1服务器 ...

  10. Domoticz 中接入斐讯 M1 空气质量检测仪

    前言 M1 是翻车讯出的一款空气质量检测仪,如今斐讯的服务器经常连不上了,M1 不动动手接到 Domoticz 怕是变成摆设了.教程参考了这里和官方的 Using Python plugins. 步骤 ...