配置nginx + keepalived雙主模式(雙機互為主備)
前言
此前已經寫過一篇使用keepalived實現nginx的高可用,這種方式有一臺機器一直作backup使用,有50%的資源被浪費。
下面來配置nginx+keepalived的雙主機雙機熱備,這種配置下有兩個Virtual IP,兩個機器互為主備,最後我們把域名DNS伺服器解析至兩個Virtual IP即可。
環境介紹
兩臺伺服器
Server1:192.168.30.61
Server2:192.168.30.62
要設定的兩個虛擬IP
Virtual IP1:192.168.30.51
Virtual IP2:192.168.30.52
將DNS域名解析至兩個虛擬IP: 192.168.30.51、192.168.30.52
網路撲拓圖
配置第一臺伺服器
第一臺伺服器ip為192.168.30.61
vi /etc/keepalived/keepalived.conf
配置內容如下:
global_defs
{
notification_email
{
[email protected]
}
notification_email_from 123456@qq.com
smtp_server 127.0.0.1
stmp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script Monitor_Nginx {
script "/usr/local/keepalived/scripts/monitor_nginx.sh"
interval 2
weight 2
}
# 虛擬IP1, 本機作為Master
vrrp_instance VI_1 {
state MASTER
interface enp0s3
virtual_router_id 51
priority 100
advert_int 1
track_interface {
enp0s3
}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.30.51
}i
track_script {
Monitor_Nginx
}
}
# 虛擬IP2, 本機作為Backup
vrrp_instance VI_2 {
state BACKUP
interface enp0s3
virtual_router_id 52
priority 100
advert_int 1
track_interface {
enp0s3
}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.30.52
}
track_script {
Monitor_Nginx
}
}
配置第二臺伺服器
第二臺伺服器ip為192.168.30.62
vi /etc/keepalived/keepalived.conf
配置內容如下:
global_defs
{
notification_email
{
[email protected]
}
notification_email_from 123456@qq.com
smtp_server 127.0.0.1
stmp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script Monitor_Nginx {
script "/usr/local/keepalived/scripts/monitor_nginx.sh"
interval 2
weight 2
}
# 虛擬IP1, 本機作為BACKUP
vrrp_instance VI_1 {
state BACKUP
interface enp0s3
virtual_router_id 51
priority 100
advert_int 1
track_interface {
enp0s3
}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.30.51
}
track_script {
Monitor_Nginx
}
}
# 虛擬IP2, 本機作為Master
vrrp_instance VI_2 {
state MASTER
interface enp0s3
virtual_router_id 52
priority 100
advert_int 1
track_interface {
enp0s3
}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.30.52
}
track_script {
Monitor_Nginx
}
}
監控指令碼
和之前的監控指令碼一樣
# 監控nginx程序,若nginx主程序不存在則啟動nginx
# 若5s後nginx程序還是不存在的話kill掉keepalived程序,防止nginx沒執行該主機的keepalived還接管虛擬IP
#!/bin/bash
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
then
/usr/local/nginx/sbin/nginx
sleep 5
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
then
killall keepalived
fi
fi
測試
修改nginx預設訪問頁nginx的預設頁面
# nginx 預設訪問頁面
$NGINX_HOME/html/index.html
修改server1的頁,加入IP: 192.168.30.61
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx! 192.168.30.61 </h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
server2同理
兩個機器都啟動keepalived和nginx
訪問虛擬ip1
在瀏覽器輸入192.168.30.51進入訪問頁面
訪問虛擬ip2
在瀏覽器輸入192.168.30.52進入訪問頁面
證明兩個VIP都起效果了
Kill掉server2的keepalived
pkill keepalived
- 訪問ip2
證明了server1為server2的備機,server2 down掉後server1接管server1的nginx訪問
Kill掉server1機器的keepalived,啟動server2機器的keepalived
- 訪問ip1
證明了server2為server1的備機,server1 down掉後server1接管server1的nginx訪問
有關nginx和keepalived的安裝可參考
相關推薦
配置nginx + keepalived雙主模式(雙機互為主備)
前言 此前已經寫過一篇使用keepalived實現nginx的高可用,這種方式有一臺機器一直作backup使用,有50%的資源被浪費。 下面來配置nginx+keepalived的雙主機雙機熱備,這種配置下有兩個Virtual IP,兩個
keepalived 安裝配置(高可用VIP),雙主模式
keepalived 高可用 雙主模式 郵件腳本 首先需要明白我們準備使用keepalived來做什麽,今天這裏只是給大家簡單安裝和配置下keepalived實現vip對外服務,防止單點故障。keepalived是高可用高可用高可用 而非負載非負載非負載。 下面我將使用keepalived部署雙主模模式,
Nginx+keepalived高可用(雙主模式)
Nginx+keepalive 負載均衡 keepalive雙主模型配置 負載均衡技術對於一個網站尤其是大型網站的web服務器集群來說是至關重要的!做好負載均衡架構,可以實現故障轉移和高可用環境,避免單點故障,保證網站健康持續運行。由於業務擴展,網站的訪問量不斷加大,負載越來越高。現需要在web前
Nginx+keepalived 高可用雙機熱備(主從模式/雙主模式)
基礎介紹 負載均衡技術對於一個網站尤其是大型網站的web伺服器叢集來說是至關重要的!做好負載均衡架構,可以實現故障轉移和高可用環境,避免單點故障,保證網站健康持續執行。 由於業務擴充套件,網站的訪問量不斷加大,負載越來越高。現需要在web前端放置ngin
keepalived雙主模式實現nginx高可用及LNAMMP架構
keepalived nginx lnammpkeepalived雙主模式實現nginx高可用及LNAMMP架構一、利用keepalived實現nginx調度器高可用;二、構建LNAMMP架構: 1) Nginx既是前端調度器,又是緩存服務器; 2) 將php的session緩存於memcached中;
ansible實現nginx雙主模式反代,keepalived高可用,memcached緩存
ansible實現nginx前端反代 keepalived高可用與對後端rs的配置 ansible自動化運維工具配置ngnix前端反代到後端真實機,並設置keepalived高可用,在後端一臺真實主機上配置httpd,mysql,php-fpm;設置memcached緩存服務器在這臺真實主機上;(
nginx+keepalived高可用及雙主模式
網卡 oot span align ip地址 cat lis 什麽 art 原文地址:http://blog.csdn.net/lexang1/article/details/52386909 高可用有2中方式。 1、Nginx+keepalived 主從配置 這種方案
keepalived+nginx+apache雙活搭建(雙網卡模式)
emc RKE RM etc lin admin 腳本 include status 之前寫過一篇文章《keepalived+nginx+apache主備及雙活搭建測試》,該測試環境只有一張網卡,雙活的ip都在該網卡上。本文背景:自動化運維平臺的前置機部署在雲平臺,服務器有
haproxy+keepalived主備與雙主模式配置
request address fig etc 虛擬 tab over .com ken Haproxy+Keepalived主備模式 主備節點設置 主備節點上各安裝配置haproxy,配置內容且要相同 global log 127.0.0.1 lo
nginx(四) nginx+keepalived 實現主備+雙主熱備模型的高可用負載均衡代理服務
nginx(四) nginx+keepalived 實現主備+雙主熱備模型的高可用負載均衡代理服務 在前面《nginx配置:反向代理 負載均衡 後端健康檢查 快取》等幾篇文章中,我們配置了nginx的反向代理負載均衡WEB叢集,而在《keepalived
Keepalived 之 雙主模式+DNS輪詢機制 實現高負載
location 記錄 ipa res 均衡 sta text 不一致 for 一、Keepalived雙主模式+DNS輪詢機制作用 作用:在單主模式下,備機通常會以等待狀態放著,不接受任何數據,導致所有數據請求只往主機-負載均衡發送,做成資源浪費;而雙主模式,即創造兩個V
keepalived(雙主模式)+haproxy+mysql_slave
interval track -s pass nec 11.2 ini 地址 clean 環境說明: debian系統 keepalived_master1 +haproxy 192.168.7.32 keepalived_master1 +haproxy 192.16
mysql之 mysql 5.6不停機雙主一從搭建(活躍雙主一從基於日誌點復制)
stat 5.6 create 文件夾 eat ima send spec tar 環境說明:版本 version 5.6.25-log 主1庫ip: 10.219.24.25主2庫ip: 10.219.24.22從1庫ip:10.219.24.26os 版本: cento
數據庫 之 Mysql的主主同步(雙主模型)
兩個 white serve 執行 密碼連接 進行 st3 提交 復制 1 概述互為主從:兩個節點各自都要開啟binlog和relay log; 1、數據不一致; 2、自動增長id;為了防止id沖突,解決辦法是一個服務器使用奇數id,另一個服務器使用偶數id,合並的時候一
nginx+keepalived實現主備模式高可用
反向代理 負載均衡一、拓撲二、keepalived配置2.1 主配置! Configuration File for keepalived global_defs {notification_email {[email protected]/>[email protected]/>sy
MySQL的主從復制+雙主模式
數據 io線程 msyql mysql- 關閉 cat ges enter 就是 MySQL的主從復制 部署環境: MySQL master 192.168.40.21 MySQL slave 192.168.40.22 思路: 當主MySQL上進行數據上的操作或
RocketMq的安裝-雙主模式
1.修改/etc/hosts檔案 [[email protected] ~]# vi /etc/hosts [[email protected] ~]# systemctl restart network [[email protected] ~]# cat /et
MySQL 高可用:主主複製(雙主複製)
########################################################################################### linux: CentOS 5.6 mysql: 5.6.22
Tarjan三大算法之雙連通分量(雙連通分量) (轉載)
進行 ack clear 例題 min 路徑 ace 相關 重復 定義: 對於一個連通圖,如果任意兩點至少存在兩條點不重復路徑,則稱這個圖為點雙連通的(簡稱雙連通);如果任意兩點至少存在兩條邊不重復路徑,則稱該圖為邊雙連通的。點雙連通圖的定義等價於任意兩條邊都同在一個簡單
Keepalived單主模式
Linux Keepalived 1、配置selinux ,iptables ,同步時間各節點時間必須同步: ntpdate TIME_SERVER_IP (如果沒有ntpdate,安裝ntp包,或者直接安裝ntpdate包) vim /etc/chrony