<font id="pvzn9"><output id="pvzn9"><form id="pvzn9"></form></output></font>
<thead id="pvzn9"><rp id="pvzn9"></rp></thead>

    <menuitem id="pvzn9"></menuitem><thead id="pvzn9"></thead>
      <menuitem id="pvzn9"></menuitem>

        <cite id="pvzn9"><rp id="pvzn9"><address id="pvzn9"></address></rp></cite>

            <meter id="pvzn9"></meter>

            <mark id="pvzn9"></mark>

            centos 搭建Nginx 負載均衡

            Keepalived 的作用是檢測web服務器的狀態,如果有一臺web服務器死機,或工作出現故障,Keepalived將檢測到,并將有故障的web服務器從系統中剔除, 當web服務器工作正常后Keepalived自動將web服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的 web服務器。

            二維碼

            簡介

            搭建Nginx 負載均衡


            一、安裝如下環境
            yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof
            編譯pcre的包
            tar zxf pcre-8.31.tar.gz
            cd pcre-8.31
            ./configure
            make && make install
            useradd -s /sbin/nologno -g nginx -M nginx
            tar zxf nginx-1.10.2.tar.gz
            cd nginx-1.10.2
            ./configure –prefix=/usr/local/nginx –sbin-path=/usr/local/nginx/bin/nginx –conf-path=/usr/local/nginx/conf/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx/nginx.pid  –lock-path=/var/lock/nginx.lock –user=nginx –group=nginx –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –http-client-body-temp-path=/var/tmp/nginx/client/ –http-proxy-temp-path=/var/tmp/nginx/proxy/ –http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi –http-scgi-temp-path=/var/tmp/nginx/scgi –with-pcre
            make
            make install
            /usr/local/nginx/bin/nginx –t
            ./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 解決prce的問題 #find / -name libpcre.so*
            /usr/local/lib/libpcre.so.1.0.1
            /usr/local/lib/libpcre.so
            /usr/local/lib/libpcre.so.1
            /lib64/libpcre.so.0.0.1
            /lib64/libpcre.so.0
            出現了這么多結果。我們安裝的PCRE庫的位置在/usr/local/pcre中,我們就用這個位置
            vim /etc/ld.so.conf
            在尾行加入/usr/local/bin
            root@mail2 bin]# ldconfig
            #/usr/local/nginx/bin/nginx -t
            nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
            nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
             
             
            這就正常了
            啟動nginx
            /usr/local/nginx/bin/nginx
            vim /usr/local/nginx/conf/nginx.conf
            在最后面的大括號前面添加一行
            include  /usr/local/nginx/conf.d/*.conf;
            建立這個目錄
            mkdir /usr/local/nginx/conf.d
            vim /usr/local/nginx/conf.d/lkq.conf
            upstream backend
            {
            server 192.168.236.150:80  weight=1;
            server 192.168.236.151:80  weight=2;
            #ip_hash;
            }
            server
            {
            listen      80;
            server_name  www.lkq.com;
            location ~ ^/*
            {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_buffering off;
            proxy_pass http://backend;
            }
            }


            haproxy+nginx實現高可用負載均衡

            Keepalived 的作用是檢測web服務器的狀態,如果有一臺web服務器死機,或工作出現故障,Keepalived將檢測到,并將有故障的web服務器從系統中剔除, 

            當web服務器工作正常后Keepalived自動將web服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的 web服務器。

            HAProxy 提供高可用性、負載均衡以及基于 TCP 和 HTTP 應用的代理,支持虛擬主機,它是免費、快速并且可靠的一種解決方案。

            HAProxy 特別適用于那些負載特大的 web 站點, 這些站點通常又需要會話保持或七層處理。HAProxy 運行在當前的硬件上,完全可以支持數以萬計的并發連接。

            并且它的運行模式使得它可以很簡單安全的整 合進您當前的架構中, 同時可以保護你的 web 服務器不被暴露到網絡上。

            系統環境: CenOS 6.5x86_64 Desktop install 將selinux and iptables 設置為disabled


            為基本的架構圖:

            15bd129d2a31d1e6e2543d68723e0282.png

            IP地址分配。

            主要用途

            IP

            Haproxy+keepalived_master

            192.168.236.143

            Haproxy+keepalived_backup

            192.168.236.192

            Webser1

            192.168.236.150

            Webser2

            192.168.236.151



            一:安裝過程,在兩臺HA機器上分別keepalived:

            #ln -s /usr/src/kernels/2.6.18-128.el5-i686/ /usr/src/linux http://www.keepalived.org/software/ keepalived 的下載地址。版本的話自己可以選擇一下版本。樓主選擇的版本是1.2.23的版本 [root@mail2 keepalived-1.2.23]# ./configure –sysconf=/etc [root@mail2 keepalived-1.2.23]# make && make install [root@mail2 keepalived-1.2.23]# ln –s /usr/local/sbin/keepalived /sbin [root@mail2keepalived-1.2.23]#cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [root@mail4keepalived-1.2.23]# ln -s /etc/init.d/keepalived /etc/rc.d/rc3.d/S99keepalived [root@mail4keepalived-1.2.23]# ln -s /etc/init.d/keepalived /etc/rc.d/rc5.d/S99keepalived

            二、修改配置文件

            Director server 1 的配置文件

            [root@Lserver-1 keepalived]# cat keepalived.conf

            Master :

            ! Configuration File for keepalived vrrp_script chk_http_port { script "/etc/keepalived/check_haproxy.sh"   ######設置了一個keepalived一個腳本 interval 2 weight 2 global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER           ###keepalived 的主 interface eth0 virtual_router_id 51  priority 150       #####keepalived 一個ID 號 備的ID一定要小于主的ID advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 192.168.236.230       ######一個VIP地址 } } }

            BACKUP:

            ! Configuration File for keepalived vrrp_script chk_http_port { script "/etc/keepalived/check_haproxy.sh"      #####一個keepalived的腳本同主一樣 interval 2 weight 2 global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP       ####為keepalived 的backup 備節點 interface eth0 virtual_router_id 51  priority 120       ####### keepalived 的一個ID號,一定要小于主節點 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 192.168.236.230        ##同主 } } }

            三、Master 主機上:

            ####這里是一個控制haproxy的一個啟動腳本 #vi /etc/keepalived/check_haproxy.sh      #!/bin/bash A=`ps -C haproxy --no-header | wc -l` if [ $A -eq 0 ];then /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg echo "haproxy start" sleep 3 if [ `ps -C haproxy --no-header | wc -l`-eq 0 ];then /etc/init.d/keepalived stop echo "keepalived stop" fi fi

            Backup 備機上:

            #!/bin/bash A=`ip a | grep 192.168.236.230 | wc -l` B=`ps -ef | grep haproxy | grep -v grep| awk '{print $2}'` if [ $A -gt 0 ];then /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg else kill -9 $B fi

            #兩臺機器分別執行:chmod 755 /etc/keepalived/check_haproxy.sh

            四、haproxy的安裝(主備都一樣):

            yum -y install pcre pcre-devel wget https://fossies.org/linux/misc/haproxy-1.7.5.tar.gz tar xf haproxy-1.7.5.tar.gz cd haproxy-1.7.5 make TARGET=linux26 ARCH=x86_64 PREFIX=/usr/local/haproxy USE_PCRE=1 make install PREFIX=/usr/local/haproxy #cd/usr/local/haproxy/ #mkdir conf #mkdir logs



            #vi haproxy.cfg

            global         log 127.0.0.1   local0         log 127.0.0.1   local1 notice         #log loghost    local0 info         maxconn 4096 #       chroot /usr/share/haproxy         chroot  /usr/local/haproxy         uid 99         gid 99         daemon         #debug         #quiet defaults         log     global         mode    http         option  httplog         option  dontlognull         retries 3         #redispatch         maxconn 2000 option redispatch stats  uri    /haproxy stats auth  admin:admin frontend www bind *:80 acl web hdr(host) -i www.lkq.com         ####這里是通過域名訪問的。如果域名為這個則通過。 use_backend webserver if web backend webserver             #webserver作用域     mode http     balance   roundrobin     option  httpchk /index.html     server s1 192.168.236.151:80 weight 3 check      ###這兩條記錄為后端的兩臺WEB服務器 server s2 192.168.236.150:80 weight 3 check

            五、:先主后從,兩臺機器上都分別啟動:

            /etc/init.d/keepalivedstart (如果之前沒有啟動haproxy,這條命令會自動把haproxy啟動)

            [root@Rserver-1 conf]# ps -ef |grep haproxy nobody    14766      1  0 19:13 ?        00:00:01 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg root      16034   8237  0 19:56 pts/2    00:00:00 grep haproxy  [root@Rserver-1 conf]# ps -ef |grep keepalived root      16016      1  0 19:56 ?        00:00:00 keepalived -D root      16018  16016  0 19:56 ?        00:00:00 keepalived -D root      16019  16016  0 19:56 ?        00:00:00 keepalived -D root      16102   8237  0 19:56 pts/2    00:00:00 grep keepalived [root@Rserver-1 conf]#

            六、再兩臺HA上分別執行ip addr list |grep 192.168.23
            master:

            [root@Rserver-1 conf]# ip addr list |grep 192.168.236     inet 192.168.236.143/24 brd 192.168.236.255 scope global eth0     inet 192.168.236.230/32 scope global eth0 [root@Rserver-1 conf]#

            Backup:

            [root@Lserver-1 keepalived]# ip addr list |grep 192.168.236     inet 192.168.236.192/24 brd 192.168.236.255 scope global eth0 [root@Lserver-1 keepalived]#

            七、停掉主上的haproxy,3秒后keepalived會自動將其再次啟動

            [root@Rserver-1 conf]# killall haproxy [root@Rserver-1 conf]# ps -ef |grep haproxy nobody    14766      1  0 19:13 ?        00:00:02 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg root      16826   8237  0 20:01 pts/2    00:00:00 grep haproxy

            八、停掉主的keepalived,備機馬上接管服務

            Master:

            [root@Rserver-1 conf]# /etc/init.d/keepalived stop [root@Rserver-1 conf]# ip addr list|grep  192.168.236     inet 192.168.236.143/24 brd 192.168.236.255 scope global eth0 [root@Rserver-1 conf]#

            Backup:

            [root@Lserver-1 keepalived]# ip addr list|grep  192.168.236     inet 192.168.236.192/24 brd 192.168.236.255 scope global eth0     inet 192.168.236.230/32 scope global eth0 [root@Lserver-1 keepalived]#

            點贊(14)

            手機端

            微信掃一掃體驗

            返回
            頂部
            邻居人妻的肉欲满足中文字幕,欧美性爽XYXOOOO,好吊妞国产欧美日韩免费观看,毛多水多WWW偷窥小便