nginx-keepalived双主互备反向代理

安装NGINX:

yum install -y gcc gcc-c++ openssl-devel zlib-devel
tar xf pcre-8.34.tar.gz 
cd pcre-8.34
./configure && make && make install 
cd ..
cd nginx-1.4.7
tar xf nginx-1.4.7.tar.gz
cd nginx-1.4.7
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module
make && make install

Nginx配置文件:

user    www www;
worker_processes 1;
error_log    /usr/local/nginx/logs/nginx_error.log    crit;
pid                /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 20000;
 
events
{
         use epoll;
         worker_connections 20000;   
}
http
{
include mime.types;
      default_type application/octet-stream;
      charset utf-8;
      server_names_hash_bucket_size 128;
      client_header_buffer_size 32k;
      large_client_header_buffers 4 32k;
      client_max_body_size 300m;
 
      sendfile on;
      tcp_nopush on;
      keepalive_timeout 60;
      tcp_nodelay on;
      client_body_buffer_size 512k;
 
 proxy_connect_timeout 30;
       proxy_send_timeout 30;
       proxy_read_timeout 60;
       proxy_buffer_size 256k;
       proxy_buffers 4 256k;
      proxy_busy_buffers_size 256k;
      proxy_temp_file_write_size 256k;
  proxy_max_temp_file_size 128m;
      gzip on;
      gzip_min_length 1k;
      gzip_buffers 4 16k;
      gzip_http_version 1.1;
      gzip_comp_level 2;
      gzip_types text/plainapplication/x-javascript text/css application/xml;
      gzip_vary on;
 
upstream cache.dragon.com {
          server 192.168.150.128:80 weight=8 max_fails=2 fail_timeout=30s; 
          Server 192.168.150.133:80 weight=8 max_fails=2 fail_timeout=30s;
             }
server
     {
        listen             80;
               server_name    www.dragon.com
              charset GB2312;
             index index.html index.htm;
            root    /usr/local/nginc/html/;
               location ~ ^/NginxStatus/ {
                        stub_status on;
                        access_log off;
                        }
         location / {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size 50m;
                client_body_buffer_size 256k;
                proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
                proxy_max_temp_file_size 128m;
                proxy_pass    http://cache.dragon.com;
                }
}
 
}

Keepalived配置(另一keepalived文件不同之处,已用"#"标出):

[[email protected] ~]# cat /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 220.181.12.11
   smtp_connect_timeout 30
   router_id haproxy_DEVEL
}
 
 
vrrp_script check_nginx {
   script "killall -0 nginx"
   interval  2
 
}
 
 
 
vrrp_instance VI_1 {
    state MASTER    #改为SLAVE
    interface eth5    
    virtual_router_id 51
    priority 80    #改为100
    advert_int 1
    
    authentication {
        auth_type PASS
        auth_pass 1234
    }
 
 
   track_script {
    check_haproxy
}    
 
   virtual_ipaddress {
        22.22.22.121/24 dev eth5
    
    }
}
 
vrrp_instance VI_2 {
    state MASTER    #改为SLAVE
    interface eth5
    virtual_router_id 52
    priority 100    #改为80
    advert_int 1
 
    authentication {
        auth_type PASS
        auth_pass 1234
    }
 
 
   track_script {
    check_nginx
        }
 
   virtual_ipaddress {
        22.22.22.122/24 dev eth5
 
    }
}

[[email protected] ~]# service keepalived start

[[email protected] ~]# service nginx start

查看两台服务器的网卡是否被挂载虚拟IP:

停掉其中一台服务器的nginx:

测试动态网页是否被代理:

时间: 2024-10-11 20:57:13

nginx-keepalived双主互备反向代理的相关文章

keepalived双主互备和自定义日志

自定义日志: keepalived的日志默认存储在/var/log/messages 有时我们会有需要将keepalived日志拿出来单独分析,那么这就需要我做自己去定义 /etc/sysconfig/keepalived #编辑keepalived的环境配置文件 KEEPALIVED_OPTIONS="-D -d -S 0" #修改内容 # --dump-conf -d  导出配置数据 # --log-detail -D  详细日志信息 # --log-facility -S  设置

Mysql5.7.22+Keepalived双主互备高可用集群

DB1:192.168.254.128DB2:192.168.254.129配置前进行校时操作#安装ntpdate工具yum install ntpdate -y#使用ntpdate校时(后面的是ntp服务器)ntpdate pool.ntp.org 配置mysql双主备 安装数据库链接(在主页数据库里面可以看到)http://blog.51cto.com/10158955/1926574 DB1修改配置文件(需重启)vi /etc/my.cnf#在[mysqld]添加server-id=166

Keepalived+nginx双主互备模型实现

Keepalived双主互备模型实现 实验拓扑概述 本次实验所涉及的系统发行版本为:CentOS6.6-64bit:内核版本:2.6.32-504.el6.x86_64 (nod1)Nginx代理1:配置有nginx服务,向外部宣称一个公网ip接收外部客户端请求,网卡eth0桥接模式,配置有内网ip172.16.13.11:eth1(1.1.1.2/24)仅主机模式,模拟与出口路由器通信接口,nod1为VIP1的MASTER时,VIP(1.1.1.100/32)配置于eth1的别名eth1:1上

[Mysql高可用]——双主互备+keepalived

实验架构图    实验环境 主机名 操作系统 Mysql版本 keepalived版本 主机IP VIP lyj1(Master/Slave) Red Hat release 6.5 Mysql5.6.31 keepalived-1.2.12 10.0.100.201 10.0.100.220 lyj2(Slave/Master) Red Hat release 6.5 Mysql5.6.31 keepalived-1.2.12 10.0.100.202 构建双主互备 1. 分别修改DB1和DB

MySQL双主互备模式架构

MySql双主互备架构模式 操作系统 CentOS 6.3 MySql版本 mysql-5.0.56 keepalived keepalived-1.1.19.tar.gz Master DB1配置文件 修改MySql 配置文件  /etc/my.cnf 增加以下段落 [mysqld] server-id=1    节点标示 log-bin=mysql-bin   开启mysql的binlog日志功能 relay-log = mysql-relay-bin  用来定义日志文件命名格式 repli

mysql双主互备

一.安装mysql 各种方式太多了 二.摘录自:https://linux.cn/thread-14135-1-1.html 1)首先在DB1上my.cnf 中[mysqld] 字段中添加如下内容:server-id = 1 //数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;log-bin=mysql-bin //启用二进制日志: relay-log=mysql-relay-bin  //用来定义relay-log日志文件命名格式repl

Mysql+Keepalived双主热备高可用操作记录

环境: ubuntu18.04.2 mysql5.7.21 1 #1)安装keepalived并将其配置成系统服务.master1和master2两台机器上同样进行如下操作: 2 apt-get install libssl-dev 3 apt-get install openssl 4 apt-get install libpopt-dev 5 [[email protected] ~]# cd /usr/local/src/ 6 [[email protected] src]# wget h

MariaDB、MySQL双主互备模型同步数据

MySQL双主互备即两台MySQL服务器同时是主服务器,而同时又是对方的从服务器,这样可以分担主服务器的一部分写请求,因为如果是单主模型的话数据写入只能写入在一台MySQL服务器,而双主模型则可同时写在两台服务器上,有效加快了写入的速度,而且还能提供数据的备份功能. 环境如下: server1:CentOS 6.5 x86_64 mariadb 10.0.10 IP:192.168.10.204 server2:CentOS 6.5 x86_64 mariadb 10.0.10  IP:192.

Mysql双主互备+keeplived高可用架构(部分)

一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种架构中,主库出现故障时需要手动将一台从库提升为主库.在对写操作要求较高的环境中,主库故障在主从架构中会成为单点故障.因此需要主主互备架构,避免主节点故障造成写操作失效. 在双主互备的架构中,每台Mysql都充当主服务器,同时充当对方的从服务器.在任意一台服务器上的写操作都会被复制到另一台服务器上,从