反向代理主机IP:10.0.0.20
WEB01主机IP : 10.0.0.22
WEB02主机IP : 10.0.0.23

反向代理主机配置:10.0.0.20

[root@node1 html]# vim /etc/nginx/conf.d/web.conf 

server {
listen ;
server_name www.wanglan.com;
location / {
proxy_pass http://10.0.0.30; #keepalived虚拟IP
proxy_set_header HOST $HOST;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Request-Url $request_uri;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}

web01主机配置 Keepalived.conf

[root@node1 ~]# vim /etc/keepalived/keepalived.conf 

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout
router_id WEB #集群名称,相同集群名称必须相同
} vrrp_instance VI_1 {
state MASTER #主从设置,这里设置为主
interface eth0
virtual_router_id
priority #定义访问优先级,数值越大优先级越高
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
10.0.0.30 #置虚拟IP,这就是反向代理服务器所代理的IP
}
}

web0主机配置keepalived.conf 文件

[root@node4 ~]# vim /etc/keepalived/keepalived.conf 

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout
router_id WEB #集群名称,必须和web01设置相同
} vrrp_instance VI_1 {
state BACKUP #主从设置,这里设置为从
interface eth0
virtual_router_id
priority #定义访问优先级,从要比主的数值小
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
10.0.0.30 #设置虚拟IP,必须相同
}
}

重启服务查看web01的网卡上是否有 10.0.0.30 IP

: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP qlen
link/ether :0c::e6::7b brd ff:ff:ff:ff:ff:ff
inet 10.0.0.22/ brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.0.0.30/ scope global eth0

而此时web02的网卡上是没有10.0.0.30 IP

: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP qlen
link/ether :0c:::ba: brd ff:ff:ff:ff:ff:ff
inet 10.0.0.23/ brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever

可以关闭web01的keepalived 服务,查看IP是否转移到了web02上

web01上已经没有了10.0.0.30

[root@node1 ~]# systemctl stop  keepalived

: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP qlen
link/ether :0c::e6::7b brd ff:ff:ff:ff:ff:ff
inet 10.0.0.22/ brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever

查看web02

: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP qlen
link/ether :0c:::ba: brd ff:ff:ff:ff:ff:ff
inet 10.0.0.23/ brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.0.0.30/ scope global eth0
valid_lft forever preferred_lft forever

此时10.0.0.30 已经转移到了 web02上

Nginx 反向代理+高可用的更多相关文章

  1. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  2. nginx负载均衡高可用部署和代理配置

    nginx负载均衡高可用配置 服务器A:172.16.100.2 服务器B:172.16.100.3 首先先在两台服务器上分别安装好nginx和keepalived后,再进行下面的操作 配置keepa ...

  3. Nginx 反向代理、负载均衡、页面缓存、URL重写以及读写分离

    1.环境准备 前端Nginx:10.160.65.44 后端WEB服务器两台:10.160.65.49/10.160.65.50 2.安装Nginx: 下载nginx-1.9.15.tar.gz,放置 ...

  4. nginx 反向代理 和lvs负载均衡

    nginx反向代理:用户请求nginx代理服务器然后代理服务器将用户请求转为服务器再由nginx代理服务器将服务器的响应反应给用户. lvs负载均衡:用户请求nginx代理服务器然后代理服务器将用户请 ...

  5. Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解

    大纲 一.前言 二.环境准备 三.安装与配置Nginx  (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡  (负载均衡算法:nginx负载算法 up ...

  6. 使用Nginx+Keepalived组建高可用负载平衡Web server集群

    一,首先说明一下网络拓扑结构: 1,Nginx 反向代理Server(HA):     ①Nginx master:192.168.1.157     ②Nginx backup:192.168.1. ...

  7. 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

  8. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  9. 【Web】Nginx 反向代理与负载均衡

    反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

随机推荐

  1. JS禁止鼠标右键、禁止全选、复制、粘贴的方法(所谓的防盗功能)

    简述:一个防君子不防小人的鸡肋的功能,针对小白还行. 代码如下: <script> //都能支持 document.oncontextmenu = function (e) { retur ...

  2. php封装的sqlite操作类

    sqlite在php中是默认安装的本地小型化数据库,类似于xml的小型数据库,但sqlite功能更强. sqlite.class.php文件: <?php class sqliteDB{ pri ...

  3. linux系统编译安装软件的通用步骤

    编译安装的步骤: 1.下载源代码,并解压     tar -xf package-version.tar.{gz|bz2|xz} 注意:展开后的目录通常为package-version 2.切换至源码 ...

  4. Node.js ECONNREFUSED错误

    1 现象 node服务器 遇见此错误,如下:events.js:71throw arguments[1]; // Unhandled 'error' event^Error: connect ECON ...

  5. Python-ccs动画及阴影

    动画及阴影 0. 什么时候该用什么布局 <!-- 定位布局: 以下两种布局不易解决的问题, 盒子需要脱离文档流处理 --> <!-- 浮动布局: 一般有block特性的盒子,水平排列 ...

  6. Http请求中请求头Content-Type讲解

    在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值 Med ...

  7. python 全栈开发,Day107(CRM初始,权限组件之权限控制,权限系统表设计)

    一.CRM初始 CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销 ...

  8. Android Studio之导出JavaDoc出现编码GBK的不可映射字符

    使用Android Studio导出JavaDoc时,如果在注释中添加了中文,生成时的时候会出现错误: 编码GBK的不可映射字符. 解决的办法是在Other command line argument ...

  9. thinkphp搭建后台品字形框架页面

    页面分为三个部分 head,left,right共同组成了index 在indexController中 function Index(){ $this->display(); } //展现后腰 ...

  10. Linux命令02--系统管理

    <1>查看当前日历:cal <2>显示或者设置时间 设置时间格式(需要管理员权限):一般都是有ntp服务的,你的系统会根据这个对照互联网时间 <3>查看进程信息:p ...