keepalived + nginx双主 实战
安装nginx
nginx 下载地址 http://nginx.org/download/nginx-1.8.0.tar.gz
安装nginx的依赖关系
yum install pcre pcre-devel openssl openssl-devel -y
创建用户 useradd www
接下来编译安装nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make make install
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 指定配置文件
/usr/local/nginx/sbin/nginx -s reload 启动nginx
nginx安装完成 我这里只安装一台 多台一样
keepalived 安装
keepalived 下载地址 http://www.keepalived.org/software/keepalived-1.2.19.tar.gz
安装基础环境
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel
内核开发包安装
yum install kernel-devel kernel -y
编译安装keepalived
/configure --with-kernel-dir=/usr/src/kernels/2.6.32-573.3.1.el6.x86_64/
make && make install
将安装完的keepalived 拷贝到目录
DIR=/usr/local/
;cp $DIR/etc/rc.d/init.d/keepalived
/etc/rc.d/init.d/ ; cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/ ;
mkdir -p /etc/keepalived ; cp $DIR/sbin/keepalived /usr/sbin/
chkconfig keepalived on
编辑配置文件 默认配置文件不存在
vim /etc/keepalived/keepalived.conf
msater 配置文件
! configuration file for keepalived
#by:v
global_defs {
}
vrrp_script chk_run {
script /root/my.sh
interval 2
weight 2
}
# VIP1 # 第一台
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 151
priority 102
advert_int 1
nopreempt #不抢占 当master挂了之后 飘到backup 上面 master修好之后 不抢占
authentication {
auth_typepass
auth_pass 1111
}
virtual_ipaddress {
192.168.80.43
}
track_script {
chk_run
}
}
# VIP2 # 第二台
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 150
priority 100
advert_int 1
authentication {
auth_typepass
auth_pass 2222
}
virtual_ipaddress {
192.168.80.44
}
track_script {
chk_run
}
}
backup 配置文件
vim /etc/keepalived/keepalived.conf
vrrp_script chk_run {
script "/root/my.sh"
interval 2
weight 2
}
# VIP1
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 151
priority 100
advert_int 1
authentication {
auth_typepass
auth_pass 1111
}
virtual_ipaddress {
192.168.80.43
}
track_script {
chk_run
}
}
# VIP2
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 150
priority 102
advert_int 1
nopreempt
authentication {
auth_typepass
auth_pass 2222
}
virtual_ipaddress {
192.168.80.44
}
track_script {
chk_run
}
}
在上面我们定义了引my.sh脚本 通过my.sh脚本检测 ngixn 是否正常 我们来写一个脚本
#!/bin/bash
A=`netstat -ltnp |grep 80 |wc -l`
if [ $A -eq 0 ];then
/etc/rc.d/init.d/keepalived stop
fi
chmod +x my.sh
启动keepalived服务 到此完成
/etc/rc.d/init.d/keepalived start
keepalived + nginx双主 实战的更多相关文章
- Nginx(haproxy)+keepalived+Tomcat双主高可用负载均衡
周末的时候一个正在学Linux的朋友问我,高可用怎么玩?我和他微信了将近三个小时,把Nginx和haproxy双主高可用教给他了,今天突然想把这个给写进博客里,供给那些正在学习Linux系统的朋友们, ...
- Mysql + keepalived 实现双主热备读写分离【转】
Mysql + keepalived 实现双主热备读写分离 2013年6月16日frankwong发表评论阅读评论 架构图 系统:CentOS6.4_X86_64软件版本:Mysql-5.6.12 ...
- MySQL 高可用性—keepalived+mysql双主
MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释) - 我的博客 - CSDN博客https://blog.csdn.net/qq_36276335/articl ...
- MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释)
博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:生产环境中一台mysql主机存在单 ...
- JAVAEE——宜立方商城03:Nginx负载均衡高可用、Keepalived+Nginx实现主备
1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务, ...
- keepalived+MySQL双主搭建
keepalived+MySQL双主搭建过程 首先要简单了解一下keepalived: Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,H ...
- 【 Linux 】Keepalived实现双主模型高可用集群
要求: 1. 两台web服务器安装wordpress,数据库通过nfs共享 2. 使用keepalived实现双主模型 环境: 主机: 系统:CentOS6.7 x64 ...
- 基于 MySQL 5.6 keepalived的双主搭建
环境介绍: 说明 IP 节点1 192.168.56.56 节点2 192.168.56.57 w_ip 192.168.56.6 安装keepalived tar -zxvf keepalived- ...
- keepalived+Nginx实现主备保障Nginx的高可用。
1.什么是keepalived? Keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工 ...
随机推荐
- CGCS2000 VS WGS84
- javascript设计模式学习之七——迭代器模式
一.迭代器模式定义 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,并且不需要暴露该对象的内部表示. 在当前大部分语言中,都已经内置了迭代器模式.迭代器有内部迭代器和外部迭代器之分,一般现有语 ...
- myeclipse里装svn插件
找到myeclipse的安装目录下的dropins文件夹,在该文件夹中建立一个新的文件夹SVN,将下载的site-1.8.16.zip解压下的东西放在该文件夹中.再打开myeclipse,import ...
- Java基础之一组有用的类——使用正则表达式搜索子字符串(TryRegex)
控制台程序. 正则表达式只是一个字符串,描述了在其他字符串中搜索匹配的模式.但这不是被动地进行字符序列匹配,正则表达式其实是一个微型程序,用于一种特殊的计算机——状态机.状态机并不是真正的机器,而是软 ...
- node.js中使用node-schedule实现定时任务
摘要:有时我们需要在每天的固定时间执行某个脚本,或者在某个固定时间执行某个任务.NodeJS中的 node-schedule 可以很好的实现定时任务. 1.安装 npm install node-sc ...
- js eventhandler
1.获取所有eventhandler 使用 getEventHandler(target) 2.target.addEventHandler(type,handler,userCapture?) 3. ...
- poj: 1003
简单题 #include <iostream> #include <stdio.h> #include <string.h> #include <stack& ...
- CSS_01_css和html的结合1、2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery on 动态添加的元素,神奇的bug
$(document.body).on("click", ".comments-item .link-comment", function () { 平时用 d ...
- 验证你的邮箱是不是qq邮箱
Console.WriteLine("请输入你的qq邮箱"); string yx = Console.ReadLine(); int a = yx.LastIndexOf(&qu ...