日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx+Keeplived双机热备(主从模式)

發布時間:2025/3/21 Nginx 104 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx+Keeplived双机热备(主从模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Nginx+Keeplived雙機熱備(主從模式)

參考資料:

http://www.cnblogs.com/kevingrace/p/6138185.html

雙機高可用一般是通過虛擬IP(漂移IP)方法來實現的,基于Linux/UnixIP別名技術。

雙機高可用方法目前分為兩種:

1.雙機主從模式:即前端使用兩臺服務器,一臺主服務器和一臺熱備服務器,正常情況下,主服務器綁定一個公網虛擬IP,提供負載均衡服務,熱備服務器處于空閑狀態;當主服務器發生故障時,熱備服務器接管主服務器的公網虛擬IP,提供負載均衡服務;但是熱備服務器在主機器不出現故障的時候,永遠處于浪費狀態,對于服務器不多的網站,該方案不經濟實惠。

2.雙機主主模式:即前端使用兩臺負載均衡服務器,互為主備,且都處于活動狀態,同事各自綁定一個公網虛擬IP,提供負載均衡服務;當其中一臺發生故障時,另一臺接管發生故障服務器的公網虛擬IP(這時由非故障機器一臺負擔所有的請求)。這種方案,經濟實惠,非常適合于當前架構環境。

今天再次分享下Nginx+keeplived實現高可用負載均衡的主從模式的操作記錄:

keeplived可以認為是VRRP協議在Linux上的實現,主要有三個模塊,分別是corecheckvrrp

core模塊為keeplived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。

check負責健康檢查,包括創建的各種檢查方式。

vrrp模塊是來實現VRRP協議的。

一、環境說明

操作系統:CentOS release 6.9 (Final) minimal

web1172.16.12.223

web2172.16.12.224

vipsvn172.16.12.226

svn172.16.12.225

?

二、環境安裝

安裝nginxkeeplived服務(web1web2兩臺服務器上的安裝完全一樣)

?

2.1、安裝依賴

yum clean all yum -y update yum -y install gcc-c++ gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel wget telnet vim zip unzip yum -y install curl-devel libxslt-devel pcre-devel libjpeg libpng libcurl4-openssl-dev yum -y install libcurl-devel libcurl freetype-config freetype freetype-devel unixODBC libxslt yum -y install gcc automake autoconf libtool openssl-devel yum -y install perl-devel perl-ExtUtils-Embed yum -y install cmake ncurses-devel.x86_64 openldap-devel.x86_64 lrzsz openssh-clients gcc-g77 bison yum -y install libmcrypt libmcrypt-devel mhash mhash-devel bzip2 bzip2-devel yum -y install ntpdate rsync svn patch iptables iptables-services yum -y install libevent libevent-devel cyrus-sasl cyrus-sasl-devel yum -y install gd-devel libmemcached-devel memcached git libssl-devel libyaml-devel auto make yum -y groupinstall "Server Platform Development" "Development tools" yum -y groupinstall "Development tools" yum -y install gcc pcre-devel zlib-devel openssl-devel

2.2Centos6系統安裝完畢后,需要優化的地方

#關閉SELinux sed -i 's/SELINUX=enforcing/SELinux=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 getenforce cat >> /etc/sysctl.conf << EOF # ##custom # net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 262144 net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 #net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_synack_retries = 2 #net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 #net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_keepalive_time = 30 net.ipv4.ip_local_port_range = 1024 65535 #net.ipv4.tcp_tw_len = 1 EOF#使其生效 sysctl -p cp /etc/security/limits.conf /etc/security/limits.conf.bak2017 cat >> /etc/security/limits.conf << EOF # ###custom # * soft nofile 20480 * hard nofile 65535 * soft nproc 20480 * hard nproc 65535 EOF

2.3、修改shell終端的超時時間

vi /etc/profile 增加如下一行即可(3600秒,默認不超時) cp /etc/profile /etc/profile.bak2017 cat >> /etc/profile << EOF export TMOUT=1800 EOF

2.4、下載軟件包

(master和slave兩臺負載均衡機都要做) [root@web1 ~]# cd /usr/local/src/[root@web1 src]# wget http://nginx.org/download/nginx-1.9.7.tar.gz[root@web1 src]# wget http://www.keepalived.org/software/keepalived-1.3.2.tar.gz

2.5、安裝nginx

(master和slave兩臺負載均衡機都要做) [root@web1 src]# tar -zxvf nginx-1.9.7.tar.gz [root@web1 nginx-1.9.7]# cd nginx-1.9.7 # 添加www用戶,其中-M參數表示不添加用戶家目錄,-s參數表示指定shell類型 [root@web1 nginx-1.9.7]# useradd www -M -s /sbin/nologin [root@web1 nginx-1.9.7]# vim auto/cc/gcc #將這句注釋掉 取消Debug編譯模式 大概在179行 # debug # CFLAGS="$CFLAGS -g" [root@web1 nginx-1.9.7]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre [root@web1 nginx-1.9.7]# make && make install

2.6、安裝keeplived

(master和slave兩臺負載均衡機都要做) [root@web1 nginx-1.9.7]# cd /usr/local/src/ [root@web1 src]# tar -zvxf keepalived-1.3.2.tar.gz [root@web1 src]# cd keepalived-1.3.2 [root@web1 keepalived-1.3.2]# ./configure [root@web1 keepalived-1.3.2]# make && make install [root@web1 keepalived-1.3.2]# cp /usr/local/src/keepalived-1.3.2/keepalived/etc/init.d/keepalived /etc/rc.d/init.d/ [root@web1 keepalived-1.3.2]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ [root@web1 keepalived-1.3.2]# mkdir /etc/keepalived [root@web1 keepalived-1.3.2]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ [root@web1 keepalived-1.3.2]# cp /usr/local/sbin/keepalived /usr/sbin/ [root@web1 keepalived-1.3.2]# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local [root@web1 keepalived-1.3.2]# echo "/etc/init.d/keepalived start" >> /etc/rc.local

三、配置服務

3.1、關閉selinux

?

先關閉SElinux、配置防火墻?(master和slave兩臺負載均衡機都要做) [root@web1 keepalived-1.3.2]# cd /root/ [root@web1 ~]#sed -i 's/SELINUX=enforcing/SELinux=disabled/' /etc/selinux/config [root@web1 ~]#grep SELINUX=disabled /etc/selinux/config [root@web1 ~]#setenforce 0

?

3.2、關閉防火墻

[root@web1 ~]# /etc/init.d/iptables stop

3.3、配置nginx

  master-slave兩臺服務器的nginx的配置完全一樣,主要是配置/usr/local/nginx/conf/nginx.confhttp,當然也可以配置vhost虛擬主機目錄,然后配置vhost下的比如LB.conf文件。
其中:
多域名指向是通過虛擬主機(配置http下面的server)實現;
同一域名的不同虛擬目錄通過每個server下面的不同location實現;
到后端的服務器在vhost/LB.conf下面配置upstream,然后在serverlocation中通過proxy_pass引用。

要實現前面規劃的接入方式,LB.conf的配置如下(添加proxy_cache_pathproxy_temp_path這兩行,表示打開nginx的緩存功能):

?

[root@web1 ~]# vim /usr/local/nginx/conf/nginx.conf user www; worker_processes 8;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 65535; }http {include mime.types;default_type application/octet-stream;charset utf-8;######### set access log format#######log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;######### http setting#######sendfile on;#tcp_nopush on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;proxy_cache_path /var/www/cache levels=1:2 keys_zone=mycache:20m max_size=2048m inactive=60m;proxy_temp_path /var/www/cache/tmp;fastcgi_connect_timeout 3000;fastcgi_send_timeout 3000;fastcgi_read_timeout 3000;fastcgi_buffer_size 256k;fastcgi_buffers 8 256k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;fastcgi_intercept_errors on;#keepalive_timeout 0;#keepalive_timeout 65;#client_header_timeout 600s;client_body_timeout 600s;# client_max_body_size 50m;client_max_body_size 100m; #允許客戶端請求的最大單個文件字節數client_body_buffer_size 256k; #緩沖區代理緩沖請求的最大字節數,可以理解為先保存到本地再傳給用戶#gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.1;gzip_comp_level 9;gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;gzip_vary on;## includes vhostsinclude vhosts/*.conf; }# 創建相應的目錄 [root@web1 ~]# mkdir -p /usr/local/nginx/conf/vhosts [root@web1 ~]# mkdir -p /var/www/cache [root@web1 ~]# ulimit 65535 [root@web2 ~]# vim /usr/local/nginx/conf/vhosts/LB.conf upstream LB-WWW {ip_hash;server 172.16.12.223:80 max_fails=3 fail_timeout=30s; #max_fails = 3 為允許失敗的次數,默認值為1server 172.16.12.224:80 max_fails=3 fail_timeout=30s; #fail_timeout = 30s 當max_fails次失敗后,暫停將請求分發到該后端服務器的時間server 172.16.12.225:80 max_fails=3 fail_timeout=30s;}upstream LB-OA {ip_hash;server 172.16.12.223:8080 max_fails=3 fail_timeout=30s;server 172.16.12.224:8080 max_fails=3 fail_timeout=30s; }server {listen 80;server_name localhost;access_log /usr/local/nginx/logs/dev-access.log main;error_log /usr/local/nginx/logs/dev-error.log;location /svn {proxy_pass http://172.16.12.226/svn/;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;proxy_connect_timeout 300; #跟后端服務器連接超時時間,發起握手等候響應時間proxy_send_timeout 300; #后端服務器回傳時間,就是在規定時間內后端服務器必須傳完所有數據proxy_read_timeout 600; #連接成功后等待后端服務器的響應時間,已經進入后端的排隊之中等候處理proxy_buffer_size 256k; #代理請求緩沖區,會保存用戶的頭信息以供nginx進行處理proxy_buffers 4 256k; #同上,告訴nginx保存單個用幾個buffer最大用多少空間proxy_busy_buffers_size 256k; #如果系統很忙時候可以申請最大的proxy_buffersproxy_temp_file_write_size 256k; #proxy緩存臨時文件的大小proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;proxy_cache mycache; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m;}location /submin {proxy_pass http://172.16.12.226/submin/;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;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 600;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;proxy_cache mycache; proxy_cache_valid 200 302 60m;proxy_cache_valid 404 1m;}}server {listen 80;server_name localhost;access_log /usr/local/nginx/logs/www-access.log main;error_log /usr/local/nginx/logs/www-error.log;location / {proxy_pass http://LB-WWW;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;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 600;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;proxy_cache mycache; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m;} }server {listen 80;server_name localhost;access_log /usr/local/nginx/logs/oa-access.log main;error_log /usr/local/nginx/logs/oa-error.log;location / {proxy_pass http://LB-OA;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;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 600;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;proxy_cache mycache; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m;} }

?

3.4、驗證準備

3.4.1、在svn服務器上執行

cat >/usr/local/nginx/conf/vhosts/svn.conf <<EOF server { listen 80; server_name svn 172.16.12.225;access_log /usr/local/nginx/logs/svn-access.log main; error_log /usr/local/nginx/logs/svn-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } EOF [root@svn ~]# cat /usr/local/nginx/conf/vhosts/svn.conf server { listen 80; server_name svn 172.16.12.225;access_log /usr/local/nginx/logs/svn-access.log main; error_log /usr/local/nginx/logs/svn-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } [root@svn ~]# [root@svn ~]# mkdir -p /var/www/html [root@svn ~]# mkdir -p /var/www/html/submin [root@svn ~]# mkdir -p /var/www/html/svn [root@svn ~]# cat /var/www/html/svn/index.html this is the page of svn/172.16.12.225 [root@svn ~]# cat /var/www/html/submin/index.html this is the page of submin/172.16.12.225 [root@svn ~]# chown -R www.www /var/www/html/ [root@svn ~]# chmod -R 755 /var/www/html/ [root@svn ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.12.223 web1 172.16.12.224 web2 172.16.12.225 svn [root@svn ~]# tail -4 /etc/rc.local touch /var/lock/subsys/local /etc/init.d/iptables stop /usr/local/nginx/sbin/nginx /etc/init.d/keepalived start# 啟動nginx [root@svn ~]# /usr/local/nginx/sbin/nginx # 訪問網址 [root@svn local]# curl http://172.16.12.225/submin/ this is the page of submin/172.16.12.225 [root@svn local]# curl http://172.16.12.225/svn/ this is the page of svn/172.16.12.225

3.4.1、在web1上執行

[root@web1 ~]# curl http://172.16.12.225/submin/ this is the page of submin/172.16.12.225 [root@web1 ~]# curl http://172.16.12.225/svn/ this is the page of svn/172.16.12.225cat >/usr/local/nginx/conf/vhosts/web.conf <<EOF server { listen 80; server_name web 172.16.12.223;access_log /usr/local/nginx/logs/web-access.log main; error_log /usr/local/nginx/logs/web-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } EOF[root@web1 ~]# cat /usr/local/nginx/conf/vhosts/web.conf server { listen 80; server_name web 172.16.12.223;access_log /usr/local/nginx/logs/web-access.log main; error_log /usr/local/nginx/logs/web-error.log;location / { root /var/www/html; index index.html index.php index.htm; } }[root@web1 ~]# mkdir -p /var/www/html [root@web1 ~]# mkdir -p /var/www/html/web [root@web1 ~]# cat /var/www/html/web/index.html this is the page of web/172.16.12.223 [root@web1 ~]# chown -R www.www /var/www/html/ [root@web1 ~]# chmod -R 755 /var/www/html/ [root@web1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.12.223 web1 172.16.12.224 web2 172.16.12.225 svn [root@web1 ~]# tail -4 /etc/rc.local touch /var/lock/subsys/local /etc/init.d/iptables stop /usr/local/nginx/sbin/nginx /etc/init.d/keepalived start [root@web1 ~]# /usr/local/nginx/sbin/nginx [root@web1 ~]# curl http://172.16.12.223/web/ this is the page of web/172.16.12.223

2.4.2、在web2上執行

[root@web2 ~]# curl http://172.16.12.225/submin/ this is the page of submin/172.16.12.225 [root@web2 ~]# curl http://172.16.12.225/svn/ this is the page of svn/172.16.12.225cat >/usr/local/nginx/conf/vhosts/web.conf <<EOF server { listen 80; server_name web 172.16.12.224;access_log /usr/local/nginx/logs/web-access.log main; error_log /usr/local/nginx/logs/web-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } EOF[root@web2 ~]# cat /usr/local/nginx/conf/vhosts/web.conf server { listen 80; server_name web 172.16.12.224;access_log /usr/local/nginx/logs/web-access.log main; error_log /usr/local/nginx/logs/web-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } [root@web2 ~]# [root@web2 ~]# mkdir -p /var/www/html [root@web2 ~]# mkdir -p /var/www/html/web [root@web2 ~]# cat /var/www/html/web/index.html this is the page of web/172.16.12.224 [root@web2 ~]# cat /var/www/html/web/index.html this is the page of web/172.16.12.224 [root@web2 ~]# chown -R www.www /var/www/html/ [root@web2 ~]# chmod -R 755 /var/www/html/ [root@web2 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.12.223 web1 172.16.12.224 web2 172.16.12.225 svn [root@web2 ~]# tail -4 /etc/rc.local touch /var/lock/subsys/local /etc/init.d/iptables stop /usr/local/nginx/sbin/nginx /etc/init.d/keepalived start# 啟動nginx [root@web2 ~]# /usr/local/nginx/sbin/nginx # 訪問網址 [root@web2 local]# curl http://172.16.12.224/web/ this is the page of web/172.16.12.224

2.4.3、瀏覽器測試

四、keeplived配置

4.1web1上的操作

[root@web1 ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [root@web1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived #全局定義global_defs { # notification_email { #指定keepalived在發生事件時(比如切換)發送通知郵件的郵箱 # ops@wangshibo.cn #設置報警郵件地址,可以設置多個,每行一個。 需開啟本機的sendmail服務 # tech@wangshibo.cn # } # # notification_email_from ops@wangshibo.cn #keepalived在發生諸如切換操作時需要發送email通知地址 # smtp_server 127.0.0.1 #指定發送email的smtp服務器 # smtp_connect_timeout 30 #設置連接smtp server的超時時間 router_id master-node #運行keepalived的機器的一個標識,通常可設為hostname。故障發生時,發郵件時顯示在郵件主題中的信息。 }vrrp_script chk_http_port { #檢測nginx服務是否在運行。有很多方式,比如進程,用腳本檢測等等script "/opt/chk_nginx.sh" #這里通過腳本監測interval 2 #腳本執行間隔,每2s檢測一次weight -5 #腳本結果導致的優先級變更,檢測失敗(腳本返回非0)則優先級 -5fall 2 #檢測連續2次失敗才算確定是真失敗。會用weight減少優先級(1-255之間)rise 1 #檢測1次成功就算成功。但不修改優先級 }vrrp_instance VI_1 { #keepalived在同一virtual_router_id中priority(0-255)最大的會成為master,也就是接管VIP,當priority最大的主機發生故障后次priority將會接管state MASTER #指定keepalived的角色,MASTER表示此主機是主服務器,BACKUP表示此主機是備用服務器。注意這里的state指定instance(Initial)的初始狀態,就是說在配置好后,這臺服務器的初始狀態就是這里指定的,但這里指定的不算,還是得要通過競選通過優先級來確定。如果這里設置為MASTER,但如若他的優先級不及另外一臺,那么這臺在發送通告時,會發送自己的優先級,另外一臺發現優先級不如自己的高,那么他會就回搶占為MASTERinterface eth1 #指定HA監測網絡的接口。實例綁定的網卡,因為在配置虛擬IP的時候必須是在已有的網卡上添加的 # mcast_src_ip 103.110.98.14 # 發送多播數據包時的源IP地址,這里注意了,這里實際上就是在哪個地址上發送VRRP通告,這個非常重要,一定要選擇穩定的網卡端口來發送,這里相當于heartbeat的心跳端口,如果沒有設置那么就用默認的綁定的網卡的IP,也就是interface指定的IP地址virtual_router_id 226 #虛擬路由標識,這個標識是一個數字,同一個vrrp實例使用唯一的標識。即同一vrrp_instance下,MASTER和BACKUP必須是一致的priority 101 #定義優先級,數字越大,優先級越高,在同一個vrrp_instance下,MASTER的優先級必須大于BACKUP的優先級advert_int 1 #設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒authentication { #設置驗證類型和密碼。主從必須一樣auth_type PASS #設置vrrp驗證類型,主要有PASS和AH兩種auth_pass 1111 #設置vrrp驗證密碼,在同一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信}virtual_ipaddress { #VRRP HA 虛擬地址 如果有多個VIP,繼續換行填寫172.16.12.226}track_script { #執行監控的服務。注意這個設置不能緊挨著寫在vrrp_script配置塊的后面(實驗中碰過的坑),否則nginx監控失效!!chk_http_port #引用VRRP腳本,即在 vrrp_script 部分指定的名字。定期運行它們來改變優先級,并最終引發主備切換。 } }

4.2web2上的操作

[root@web2 ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [root@web2 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { # notification_email { # ops@wangshibo.cn # tech@wangshibo.cn # } # # notification_email_from ops@wangshibo.cn # smtp_server 127.0.0.1 # smtp_connect_timeout 30 router_id slave-node }vrrp_script chk_http_port { script "/opt/chk_nginx.sh" interval 2 weight -5 fall 2 rise 1 }vrrp_instance VI_1 { state BACKUP interface eth1 # mcast_src_ip 103.110.98.24 virtual_router_id 226 priority 99 advert_int 1 authentication { auth_type PASS auth_pass 1111 }virtual_ipaddress { 172.16.12.226}track_script { chk_http_port }}

4.3、監控說明

  讓keepalived監控NginX的狀態:
1)經過前面的配置,如果master主服務器的keepalived停止服務,slave從服務器會自動接管VIP對外服務;
一旦主服務器的keepalived恢復,會重新接管VIP。 但這并不是我們需要的,我們需要的是當NginX停止服務的時候能夠自動切換。
2keepalived支持配置監控腳本,我們可以通過腳本監控NginX的狀態,如果狀態不正常則進行一系列的操作,最終仍不能恢復NginX則殺掉keepalived,使得從服務器能夠接管服務。

如何監控NginX的狀態
最簡單的做法是監控NginX進程更靠譜的做法是檢查NginX端口最靠譜的做法是檢查多個url能否獲取到頁面

注意:這里要提示一下keepalived.confvrrp_script配置區的script一般有2種寫法:
1)通過腳本執行的返回結果,改變優先級,keepalived繼續發送通告消息,backup比較優先級再決定。這是直接監控Nginx進程的方式。
2)腳本里面檢測到異常,直接關閉keepalived進程,backup機器接收不到advertisement會搶占IP。這是檢查NginX端口的方式。
上文script配置部分,"killall -0 nginx"屬于第1種情況"/opt/chk_nginx.sh" 屬于第2種情況。個人更傾向于通過shell腳本判斷,但有異常時exit 1,正常退出exit 0,然后keepalived根據動態調整的 vrrp_instance 優先級選舉決定是否搶占VIP
如果腳本執行結果為0,并且weight配置的值大于0,則優先級相應的增加
如果腳本執行結果非0,并且weight配置的值小于0,則優先級相應的減少
其他情況,原本配置的優先級不變,即配置文件中priority對應的值。

提示:
優先級不會不斷的提高或者降低
可以編寫多個檢測腳本并為每個檢測腳本設置不同的weight(在配置中列出就行)
不管提高優先級還是降低優先級,最終優先級的范圍是在[1,254],不會出現優先級小于等于0或者優先級大于等于255的情況
MASTER節點的 vrrp_instance 中 配置 nopreempt ,當它異常恢復后,即使它 prio 更高也不會搶占,這樣可以避免正常情況下做無謂的切換
以上可以做到利用腳本檢測業務進程的狀態,并動態調整優先級從而實現主備切換。

另外:在默認的keepalive.conf里面還有 virtual_server,real_server 這樣的配置,我們這用不到,它是為lvs準備的。

如何嘗試恢復服務
由于keepalived只檢測本機和他機keepalived是否正常并實現VIP的漂移,而如果本機nginx出現故障不會則不會漂移VIP
所以編寫腳本來判斷本機nginx是否正常,如果發現NginX不正常,重啟之。等待3秒再次校驗,仍然失敗則不再嘗試,關閉keepalived,其他主機此時會接管VIP

根據上述策略很容易寫出監控腳本。此腳本必須在keepalived服務運行的前提下才有效!如果在keepalived服務先關閉的情況下,那么nginx服務關閉后就不能實現自啟動了。
該腳本檢測ngnix的運行狀態,并在nginx進程不存在時嘗試重新啟動ngnix,如果啟動失敗則停止keepalived,準備讓其它機器接管。

4.4、監控腳本

監控腳本如下(master和slave都要有這個監控腳本): [root@web1 ~]# cat /opt/chk_nginx.sh #!/bin/bash counter=$(ps -C nginx --no-heading|wc -l) if [ "${counter}" = "0" ]; then/usr/local/nginx/sbin/nginxsleep 2counter=$(ps -C nginx --no-heading|wc -l)if [ "${counter}" = "0" ]; then/etc/init.d/keepalived stopfi fi [root@web1 ~]# [root@web1 ~]# chmod 755 /opt/chk_nginx.sh [root@web1 ~]# sh /opt/chk_nginx.sh[root@web2 ~]# cat /opt/chk_nginx.sh #!/bin/bash counter=$(ps -C nginx --no-heading|wc -l) if [ "${counter}" = "0" ]; then/usr/local/nginx/sbin/nginxsleep 2counter=$(ps -C nginx --no-heading|wc -l)if [ "${counter}" = "0" ]; then/etc/init.d/keepalived stopfi fi [root@web2 ~]# [root@web2 ~]# chmod 755 /opt/chk_nginx.sh [root@web2 ~]# sh /opt/chk_nginx.sh

4.5、需要考慮的問題

此架構需考慮的問題
1master沒掛,則master占有vipnginx運行在master
2master掛了,則slave搶占vip且在slave上運行nginx服務
3)如果master上的nginx服務掛了,則nginx會自動重啟,重啟失敗后會自動關閉keepalived,這樣vip資源也會轉移到slave上。
4)檢測后端服務器的健康狀態
5masterslave兩邊都開啟nginx服務,無論master還是slave,當其中的一個keepalived服務停止后,vip都會漂移到keepalived服務還在的節點上;
如果要想使nginx服務掛了,vip也漂移到另一個節點,則必須用腳本或者在配置文件里面用shell命令來控制。(nginx服務宕停后會自動啟動,啟動失敗后會強制關閉keepalived,從而致使vip資源漂移到另一臺機器上)

?

五、最后驗證

?

?

最后驗證(將配置的后端應用域名都解析到VIP地址上):關閉主服務器上的keepalivednginxvip都會自動飄到從服務器上。

驗證keepalived服務故障情況:

1)先后在masterslave服務器上啟動nginxkeepalived,保證這兩個服務都正常開啟:

?

[root@web2 ~]# /usr/local/nginx/sbin/nginx -s stop nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored [root@web2 ~]# /etc/init.d/keepalived stop Stopping keepalived: [FAILED] [root@web2 ~]# [root@web1 ~]# /usr/local/nginx/sbin/nginx -s stop nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored [root@web1 ~]# /etc/init.d/keepalived stop Stopping keepalived: [FAILED] [root@web1 ~]# [root@web1 ~]# /usr/local/nginx/sbin/nginx nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored [root@web1 ~]# /etc/init.d/keepalived start Starting keepalived: [ OK ]

?

2在主服務器上查看是否已經綁定了虛擬IP

?

[root@web1 ~]# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:ca:99:56 brd ff:ff:ff:ff:ff:ffinet 10.0.2.223/24 brd 10.0.2.255 scope global eth0inet 172.16.12.226/32 scope global eth0inet6 fe80::a00:27ff:feca:9956/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:b3:a9:36 brd ff:ff:ff:ff:ff:ffinet 172.16.12.223/24 brd 172.16.12.255 scope global eth1inet6 fe80::a00:27ff:feb3:a936/64 scope link valid_lft forever preferred_lft forever[root@web2 ~]# /usr/local/nginx/sbin/nginx nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored [root@web2 ~]# /etc/init.d/keepalived start Starting keepalived: [ OK ] [root@web2 ~]# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:9a:0b:97 brd ff:ff:ff:ff:ff:ffinet 10.0.2.224/24 brd 10.0.2.255 scope global eth0inet6 fe80::a00:27ff:fe9a:b97/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:63:26:1a brd ff:ff:ff:ff:ff:ffinet 172.16.12.224/24 brd 172.16.12.255 scope global eth1inet6 fe80::a00:27ff:fe63:261a/64 scope link valid_lft forever preferred_lft forever [root@web2 ~]#

?

5.1、修改網站配置

[root@web1 ~]# cat /usr/local/nginx/conf/vhosts/web.conf server { listen 80; server_name localhost 172.16.12.223 172.16.12.226;access_log /usr/local/nginx/logs/web-access.log main; error_log /usr/local/nginx/logs/web-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } [root@web1 ~]# [root@web2 ~]# cat /usr/local/nginx/conf/vhosts/web.conf server { listen 80; server_name localhost 172.16.12.224 172.16.12.226;access_log /usr/local/nginx/logs/web-access.log main; error_log /usr/local/nginx/logs/web-error.log;location / { root /var/www/html; index index.html index.php index.htm; } } [root@web2 ~]#

5.2、訪問驗證

5.3、停止主服務器的keeplived服務

[root@web1 ~]# /etc/init.d/keepalived stop Stopping keepalived: [ OK ] [root@web1 ~]# [root@web1 ~]# tail -f /var/log/messages Dec 14 13:32:12 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:12 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:12 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:12 web1 Keepalived_healthcheckers[7958]: Netlink reflector reports IP 172.16.12.226 added Dec 14 13:32:17 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:17 web1 Keepalived_vrrp[7959]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on eth0 for 172.16.12.226 Dec 14 13:32:17 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:17 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:17 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:32:17 web1 Keepalived_vrrp[7959]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:43:51 web1 Keepalived[7956]: Stopping Dec 14 13:43:51 web1 Keepalived_vrrp[7959]: VRRP_Instance(VI_1) sent 0 priority Dec 14 13:43:51 web1 Keepalived_vrrp[7959]: VRRP_Instance(VI_1) removing protocol VIPs. Dec 14 13:43:51 web1 Keepalived_healthcheckers[7958]: Netlink reflector reports IP 172.16.12.226 removed Dec 14 13:43:51 web1 Keepalived_healthcheckers[7958]: Stopped Dec 14 13:43:52 web1 Keepalived_vrrp[7959]: Stopped Dec 14 13:43:52 web1 Keepalived[7956]: Stopped Keepalived v1.3.2 (12/14,2017)[root@web1 ~]# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:ca:99:56 brd ff:ff:ff:ff:ff:ffinet 10.0.2.223/24 brd 10.0.2.255 scope global eth0inet6 fe80::a00:27ff:feca:9956/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:b3:a9:36 brd ff:ff:ff:ff:ff:ffinet 172.16.12.223/24 brd 172.16.12.255 scope global eth1inet6 fe80::a00:27ff:feb3:a936/64 scope link valid_lft forever preferred_lft forever [root@web1 ~]#

5.4、在web2查看切換情況

[root@web2 ~]# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:9a:0b:97 brd ff:ff:ff:ff:ff:ffinet 10.0.2.224/24 brd 10.0.2.255 scope global eth0inet 172.16.12.226/32 scope global eth0inet6 fe80::a00:27ff:fe9a:b97/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:63:26:1a brd ff:ff:ff:ff:ff:ffinet 172.16.12.224/24 brd 172.16.12.255 scope global eth1inet6 fe80::a00:27ff:fe63:261a/64 scope link valid_lft forever preferred_lft forever [root@web2 ~]# [root@web2 ~]# tail -f /var/log/messages Dec 14 13:47:33 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:33 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:33 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:33 web2 Keepalived_healthcheckers[8186]: Netlink reflector reports IP 172.16.12.226 added Dec 14 13:47:38 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:38 web2 Keepalived_vrrp[8187]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on eth0 for 172.16.12.226 Dec 14 13:47:38 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:38 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:38 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226 Dec 14 13:47:38 web2 Keepalived_vrrp[8187]: Sending gratuitous ARP on eth0 for 172.16.12.226

5.5、訪問網頁驗證

切換前的網頁:

?

?

切換后的網頁:

?

?

說明已經切換完畢。

?

?

轉載于:https://www.cnblogs.com/bjx2020/p/8057776.html

總結

以上是生活随笔為你收集整理的Nginx+Keeplived双机热备(主从模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线黄网站| 久久精品男人的天堂 | 最近日韩免费视频 | 亚洲,国产成人av | 亚洲在线成人精品 | 偷拍福利视频一区二区三区 | 五月婷婷久草 | 91九色porny在线 | 国产免费又粗又猛又爽 | 免费黄色av. | 欧美动漫一区二区三区 | 五月婷婷综 | 啪啪资源| 国产精品99久久久久 | 国产精品久久久久久久久久免费 | 欧美国产一区二区 | 在线视频 日韩 | 国产精品麻豆99久久久久久 | 国产精品色视频 | 外国av网 | 激情欧美日韩一区二区 | 久久久电影 | 在线视频a | 国产91精品高清一区二区三区 | 国内精品久久久久国产 | 久久99国产视频 | 天天操天天操天天操天天 | 国产一级精品视频 | 色偷偷88888欧美精品久久 | 日韩高清成人 | 成人一区电影 | av在线免费观看网站 | 97超碰色偷偷 | 精品视频免费观看 | 国产二级视频 | 美女视频黄的免费的 | 日韩v在线91成人自拍 | 精品视频在线观看 | 91麻豆操| 国产国产人免费人成免费视频 | 精品黄色视 | 中文字幕在线看视频国产 | 这里只有精品视频在线 | 日韩欧美亚州 | 国产精品日韩 | 午夜视频一区二区三区 | 97电影院在线观看 | 狠狠干中文字幕 | www.久久91 | 最新真实国产在线视频 | 国产精品孕妇 | 九九免费精品视频 | 欧美日在线观看 | 麻豆免费视频 | 色婷婷六月| 亚洲 精品在线视频 | 亚洲aⅴ久久精品 | 亚州精品视频 | 91热| 亚洲天堂自拍视频 | 色婷婷六月天 | www色 | 国产黄色免费电影 | 欧美日韩在线视频一区 | 九九热免费在线视频 | 在线观看黄色大片 | 日韩91精品 | 久久伊人精品一区二区三区 | 精品久久久久久亚洲综合网站 | 日韩av在线网站 | 国产91精品欧美 | 97色在线观看免费视频 | 一区二区三区四区五区在线 | 免费美女久久99 | 综合久久久 | 国内精品久久久久久久 | 国产女教师精品久久av | 日韩在线观看你懂得 | 精品国产一区二区三区av性色 | 成年性视频 | 天天操天天添天天吹 | 99精品国产在热久久 | 五月天激情综合 | 久久有精品 | 一级淫片a | 国产精品成人自拍 | 国产午夜在线观看视频 | 亚洲少妇久久 | 国产精品视频 | 狠狠狠干狠狠 | www.久久色| 日韩一级黄色片 | 福利视频一区二区 | 久久免费国产电影 | 国产视频1区2区3区 久久夜视频 | 国产91免费看 | 超碰在线人人 | 亚洲精品视频在线观看网站 | 婷婷色在线视频 | 深夜男人影院 | 免费观看mv大片高清 | 日韩欧美一区二区在线观看 | 在线亚洲天堂网 | 国产福利91精品张津瑜 | 91在线观看黄 | 99久久er热在这里只有精品15 | 日韩中文字幕免费电影 | 97视频一区 | 亚洲永久字幕 | 99在线观看免费视频精品观看 | 91桃色免费观看 | 九九热视频在线 | 欧美日韩中文在线观看 | 日韩成人精品一区二区 | 丁香激情综合国产 | 亚洲成av| 成年美女黄网站色大片免费看 | a黄色片| 天堂麻豆 | 999在线精品 | 黄色大片入口 | 999久久久免费视频 午夜国产在线观看 | 国产精品网址在线观看 | 欧美精品一区二区蜜臀亚洲 | 日韩高清免费无专码区 | 国产精品综合av一区二区国产馆 | 91在线看片 | 国产精品成人免费一区久久羞羞 | av超碰在线 | 97视频在线免费 | 亚州av网站大全 | 成人啪啪18免费游戏链接 | 最近中文字幕高清字幕在线视频 | 国语黄色片 | 日日夜夜操操操操 | 99国产成+人+综合+亚洲 欧美 | 国产.精品.日韩.另类.中文.在线.播放 | 9999国产精品 | 91av视频在线观看免费 | 欧美乱码精品一区 | www操操| 天天做天天爱天天爽综合网 | 一区二区精品在线观看 | 99久久www免费 | 国产免费xvideos视频入口 | 国产啊v在线观看 | 在线免费看黄色 | 国产黄色av影视 | 欧美激精品 | 成人av网页| 亚洲成人免费在线观看 | 视频成人永久免费视频 | 在线久草视频 | 在线播放 日韩专区 | 激情五月开心 | 在线视频手机国产 | 五月婷婷色播 | 日韩在线视频观看免费 | 在线播放一区 | 欧美精品乱码久久久久久按摩 | 亚洲综合视频在线播放 | 国产韩国日本高清视频 | 久久久久久久久福利 | 免费黄色小网站 | 一区二区三区免费看 | 国产精品手机视频 | 亚洲日韩中文字幕 | 人人讲 | 成人观看视频 | 又爽又黄在线观看 | 国产一区二区在线免费播放 | 中文一区在线 | 一区二区三区在线不卡 | 人人添人人| 日韩一区二区三区免费电影 | 日韩精品极品视频 | 欧美日韩一二三四区 | 97成人在线| 久久久久久久久久久成人 | 美女黄频在线观看 | 最近免费中文字幕 | 久久夜色网 | 日韩精品电影在线播放 | 中文字幕在线播放视频 | 国产一级精品在线观看 | 日韩欧美高清免费 | 日韩精品aaa| 91精品视频在线免费观看 | 日韩欧美大片免费观看 | 深夜免费福利网站 | 国产精品久久久久婷婷 | 91av久久| 伊人开心激情 | 干干夜夜 | 中文字幕精品一区 | av电影一区 | h文在线观看免费 | 成人影视免费 | 天天色天天色天天色 | 日韩精品中字 | 国产精品麻豆一区二区三区 | 国产综合在线视频 | 激情五月伊人 | 96精品高清视频在线观看软件特色 | 国产黄色播放 | 日韩成人欧美 | 成人午夜精品久久久久久久3d | 免费网址你懂的 | 国产成人精品免高潮在线观看 | 97超碰色| 欧美色插 | 在线国产黄色 | 91在线一区二区 | 国产精品一区二区免费 | 亚洲日本三级 | 久草视频视频在线播放 | 丝袜美女在线 | 国产亚洲精品久久19p | 日日夜夜天天射 | 国产亚洲一区二区在线观看 | 精品久久久久久久久中文字幕 | 91精品啪在线观看国产 | 一区二区三区高清在线 | 久久精品久久精品久久39 | 欧美日本啪啪无遮挡网站 | 精品日韩在线 | 国产精品午夜久久久久久99热 | 亚洲一区二区三区91 | 午夜精品电影一区二区在线 | 久久精品站 | 日韩av免费在线电影 | 美女免费视频一区二区 | 中文字幕资源在线观看 | 97综合视频| 在线免费黄色 | 亚洲国内精品 | 国产一区二区视频在线播放 | 91成版人在线观看入口 | 国产一区二区影院 | 成人久久18免费网站 | 97精品国产97久久久久久春色 | 久久久在线观看 | 欧美成人在线网站 | 人人插人人艹 | 91大神免费视频 | 99色在线观看视频 | 久草在线在线 | 一级黄色毛片 | 日韩欧美一区二区三区视频 | 最新色站 | 日本公妇在线观看高清 | av黄色免费看 | 三上悠亚一区二区在线观看 | 国产v视频 | 欧美极度另类性三渗透 | 97品白浆高清久久久久久 | 中文在线免费一区三区 | 久久免费的视频 | av在线之家电影网站 | 色午夜 | 久久字幕 | 99中文字幕在线观看 | 国产不卡精品 | 日韩一区正在播放 | 在线黄网站 | 最近中文字幕免费观看 | 在线视频一区观看 | 国产在线999 | 日韩国产精品久久 | 国产欧美在线一区 | 亚洲精品免费在线播放 | 成人在线视频一区 | 麻豆91精品视频 | 五月天丁香亚洲 | 成人中心免费视频 | 色婷婷激情五月 | 久草视频中文 | 观看免费av| 97视频在线看 | 91在线视频免费观看 | 亚洲综合爱 | 97视频免费在线看 | 欧美小视频在线观看 | 成人中文字幕在线观看 | 天天草天天 | 欧美不卡视频在线 | 久久久午夜剧场 | 国产玖玖精品视频 | a在线一区 | 丰满少妇一级 | 亚洲高清久久久 | 一区二区中文字幕在线播放 | 午夜av日韩 | 日韩精品在线视频免费观看 | 国产精品成人免费一区久久羞羞 | 911香蕉视频 | 最新真实国产在线视频 | 有码中文在线 | 超碰在线cao | 国产精彩在线视频 | 国产一区免费看 | 特级片免费看 | 久久激情小说 | 国产视频在线免费观看 | 日日干日日操 | 国产涩图 | 一区二区欧美在线观看 | 成人免费大片黄在线播放 | 国产精品一区二区久久久 | 日韩中文字幕亚洲一区二区va在线 | 久二影院 | 日韩丝袜在线 | 91久久久久久久一区二区 | 丝袜精品视频 | 国产午夜一级毛片 | 亚州av免费 | 亚洲国产精品500在线观看 | 夜色资源网 | 日本xxxx.com | 国产精品一区二区三区在线播放 | 91精品久久久久 | 在线观看亚洲国产精品 | 国产 亚洲 欧美 在线 | 六月丁香婷婷久久 | 热久久视久久精品18亚洲精品 | 国产资源在线播放 | 天天玩天天操天天射 | 天天躁天天躁天天躁婷 | 最新日韩在线 | 97在线观视频免费观看 | 精品国产乱码久久久久久久 | 色99色 | 中文字幕 国产视频 | 黄色免费大片 | 成年人免费电影 | 波多野结衣在线观看一区二区三区 | 日韩激情片在线观看 | 久久久久久不卡 | 国产亚洲精品电影 | 四虎影视成人永久免费观看亚洲欧美 | 天天射天天干 | 久久精品视频4 | 欧美极品xxx | 成人免费网视频 | a级成人毛片 | 国产人在线成免费视频 | 国产精品一区电影 | 天天操夜夜逼 | 黄色av网站在线观看免费 | 在线成人中文字幕 | 久久精品亚洲 | www国产精品com | 免费色黄 | 在线观看中文av | 日韩一区二区三区免费视频 | 国产伦理精品一区二区 | 亚洲影院天堂 | 四虎影视av | 国产精品综合久久 | 精品 激情 | 96精品高清视频在线观看软件特色 | 免费在线激情视频 | 成人小视频免费在线观看 | 久久成人黄色 | 色婷婷久久久综合中文字幕 | 超碰在线日韩 | 久草免费资源 | 日韩69av | 亚洲人成免费网站 | 97在线精品国自产拍中文 | 日韩91精品 | 韩国av一区二区三区在线观看 | 久久精品导航 | 黄色资源在线 | 久久激情五月婷婷 | 国产黑丝袜在线 | 福利电影一区二区 | 黄色福利网站 | 91黄色在线视频 | 日韩av高清 | 日韩高清久久 | 国产精品久久久久永久免费看 | 精品少妇一区二区三区在线 | 操操综合网 | 91在线91拍拍在线91 | 国产黄色高清 | 日韩视频二区 | 国产高清一级 | 黄色1级大片 | 午夜视频在线观看一区二区三区 | 成人在线超碰 | 午夜视频一区二区三区 | 一区二区三区韩国免费中文网站 | 欧美少妇18p | 丁香六月五月婷婷 | 97成人精品区在线播放 | 97超碰人人| 中文字幕在线影院 | 久久国产品| 在线观看日本韩国电影 | 中文字幕乱在线伦视频中文字幕乱码在线 | .国产精品成人自产拍在线观看6 | 欧美电影黄色 | 日韩三级不卡 | 香蕉在线视频观看 | 国产精品久久久久久久久毛片 | a级免费观看 | 久草国产在线观看 | 亚洲精选99| 中文字幕久久精品亚洲乱码 | 日日干狠狠操 | 欧美国产在线看 | 91成人网页版 | 国产精品久久久久久欧美 | 日韩在线播放欧美字幕 | 日韩高清二区 | 在线中文字母电影观看 | 五月婷在线观看 | 国产精品女人久久久 | 人人网人人爽 | 国产一级性生活视频 | 国产剧情一区 | 亚洲成人黄色 | 99久久久久久 | 亚洲国产婷婷 | 九九视频在线观看视频6 | 国产伦精品一区二区三区高清 | 91精品一区二区三区久久久久久 | 欧美a免费| 人人干人人添 | 人人澡人人爽欧一区 | 国产成人精品一区一区一区 | 成人免费大片黄在线播放 | 成人毛片a | 一区精品在线 | 成人精品国产免费网站 | 国产第一福利网 | 一区二区三区免费在线观看视频 | 激情五月看片 | 免费看一及片 | 成人h电影 | 国产成人香蕉 | av三级在线看 | 中文字幕在线视频免费播放 | 成人中心免费视频 | 亚洲 欧美 变态 国产 另类 | 精品欧美小视频在线观看 | 久久激五月天综合精品 | 色婷婷综合五月 | 99久久精品国产观看 | 成人在线观看资源 | 天天操天天爱天天爽 | 俺要去色综合狠狠 | 日本黄色免费电影网站 | 国产精品美女999 | 久久综合之合合综合久久 | 免费视频你懂的 | 色999精品| av在线看网站 | 天天草视频 | 手机看片国产日韩 | 三级黄色网络 | 午夜免费视频网站 | 99久久精品久久久久久动态片 | 国产视频精品网 | 天天操天天操天天操天天操天天操 | 亚洲综合射 | 免费网站看av片 | 激情偷乱人伦小说视频在线观看 | 国产精品综合久久久 | 黄色av电影在线观看 | 国产a级精品 | 超碰在线公开免费 | 国产麻豆果冻传媒在线观看 | 欧美一区二区精美视频 | 亚洲精品女 | 日本在线视频网址 | 97电影在线看视频 | 日韩欧美精品一区 | 国产一区视频在线播放 | 97超碰在线资源 | 亚洲激情 | 亚洲伊人av | 91豆麻精品91久久久久久 | 久久精品99国产精品酒店日本 | 国产成人精品一区二区三区 | 国产免费三级在线观看 | 国产美女在线精品免费观看 | 久久综合九色欧美综合狠狠 | 国内精品久久久久影院优 | 亚洲第二色| 懂色av懂色av粉嫩av分享吧 | 亚洲视频999 | 欧美日韩一区二区在线观看 | 国产精品久久久久久一二三四五 | 日韩精品综合在线 | 婷婷中文在线 | 91看片成人 | 国色天香在线 | 美女国内精品自产拍在线播放 | 日本一区二区免费在线观看 | 91成人欧美 | 中文字幕在线资源 | 99久久精品视频免费 | 免费精品视频在线 | 欧美日韩性| 免费观看黄 | 国产高清视频在线播放一区 | 国产综合久久 | 91 在线视频 | 日本3级在线观看 | av片免费播放 | 午夜精品福利在线 | 免费看一及片 | 美女免费黄网站 | 亚洲欧美视频网站 | 日本在线成人 | 色婷婷av国产精品 | 日韩av高清在线观看 | 97在线精品国自产拍中文 | 草久在线 | 国产色爽 | 亚洲精品88欧美一区二区 | 波多野结衣一区二区三区中文字幕 | 国产美女视频免费 | 午夜视频在线观看欧美 | 最近中文字幕mv免费高清在线 | 国产亚洲精品av | 高清中文字幕av | 亚洲 欧洲av | 天天做天天爱天天综合网 | 久久99视频免费观看 | 久久精品9| 中文字幕欧美日韩va免费视频 | 亚洲精品色| 亚洲国产一区二区精品专区 | 中午字幕在线观看 | 99久久国产免费看 | 国产一级片一区二区三区 | 毛片美女网站 | 中文字幕av在线不卡 | 天天操天天色天天射 | 久久免费播放 | 免费又黄又爽的视频 | 91精品国产91热久久久做人人 | 999视频精品 | 国产在线色 | 中文字幕在线视频免费播放 | 国产护士在线 | 97超碰中文字幕 | 国产99久久 | 久久精品久久精品久久39 | 成人黄色大片在线免费观看 | 欧美日韩精品在线 | 日本精品视频在线观看 | 亚洲欧美乱综合图片区小说区 | 九九久久久久久久久激情 | 免费精品| 日韩系列在线 | 一区二区日韩av | 久久久精品成人 | 91中文在线 | 免费视频久久 | 精品免费一区二区三区 | 欧美日韩精品在线视频 | 一区二区三区免费在线 | 国产精品av电影 | 欧美日韩国产免费视频 | aaaaaa毛片| 久久免费高清视频 | 美女一级毛片视频 | 久久综合九色欧美综合狠狠 | 欧美日韩色婷婷 | 婷婷中文字幕 | 黄色日本免费 | 国产成人亚洲在线观看 | 黄色av电影在线观看 | 天天激情天天干 | 久久久久久国产精品 | 中文亚洲欧美日韩 | 日韩羞羞| 正在播放亚洲精品 | 国产在线2020 | 国产青春久久久国产毛片 | 亚洲精品在线播放视频 | 亚洲一区二区三区在线看 | 四虎在线免费视频 | 91精品第一页 | 97国产在线观看 | 亚洲天天草| 高清在线一区 | 男女啪啪免费网站 | 久久视频中文字幕 | 日韩视频免费 | 午夜av激情 | 五月天久久狠狠 | 亚洲成av人片在线观看无 | 欧美最猛性xxxxx(亚洲精品) | 亚洲人xxx| 亚洲午夜剧场 | 天天搞夜夜骑 | 96久久欧美麻豆网站 | 欧美日韩一区二区三区在线免费观看 | 九七在线视频 | 香蕉一区| 久久伊99综合婷婷久久伊 | 在线观看免费福利 | 日韩欧美在线国产 | 亚洲精品乱码久久久久久写真 | 99精品免费久久久久久日本 | 国产精品免费久久久久久久久久中文 | 久久人人爽人人 | 蜜桃视频精品 | 午夜久久久久久久久久影院 | 日韩欧美视频在线免费观看 | 亚洲精品字幕在线 | 狠狠激情中文字幕 | 日本在线中文 | 午夜精品一区二区三区在线视频 | 丁香六月欧美 | 日韩视频一区二区在线 | 久久免费久久 | 国产999精品久久久久久绿帽 | av大全在线 | 免费在线中文字幕 | 国产精品成人免费一区久久羞羞 | 天天操天天干天天插 | 精品专区一区二区 | 欧美日韩精品在线视频 | 国产精品久久久久一区二区三区 | 色婷婷狠狠干 | 91香蕉国产在线观看软件 | 中文在线www | 成年人免费观看在线视频 | 91成年视频 | 久久免费国产精品1 | 欧美精品一区二区三区一线天视频 | 久久精品99久久久久久2456 | 中文字幕在线观看第二页 | 日韩av在线不卡 | 亚洲资源在线观看 | 在线免费高清一区二区三区 | 尤物九九久久国产精品的分类 | 国产一区二区在线看 | 免费婷婷| 国产精品 中文字幕 亚洲 欧美 | 在线91av | 久草在线精品观看 | 草久久影院 | 四虎www| 日韩成人精品一区二区三区 | 国产91小视频| 久久精品99久久久久久2456 | 狠狠操天天射 | av网站在线观看免费 | 欧美激情在线看 | 国产传媒一区在线 | 人人草人人草 | 最新99热| 97精品国产97久久久久久春色 | 九九热99视频| 人人狠 | 99精品一区 | 最近中文字幕免费av | 精品国产诱惑 | 中文字幕av最新更新 | 欧美日韩中文字幕视频 | 中文字幕第一页在线播放 | 97品白浆高清久久久久久 | 亚洲高清视频在线 | 中文字幕免费播放 | 美女视频黄网站 | 丰满少妇一级片 | 国产精品视频免费 | 成人国产精品入口 | 国产精品 久久 | 亚洲最大av| 国产精品第十页 | 又黄又爽又无遮挡免费的网站 | 毛片永久免费 | av色图天堂网 | 菠萝菠萝在线精品视频 | av在线电影播放 | 免费看的国产视频网站 | 国产精品一区欧美 | 91九色精品| 激情久久五月 | 欧美三级高清 | 天天搞天天 | 麻豆超碰 | 激情在线网站 | 97成人在线观看视频 | 黄色片网站大全 | avwww在线| 色狠狠综合天天综合综合 | 日韩在线观看你懂的 | 欧美日韩久 | 国产成人精品亚洲精品 | 91试看| 精品国产1区 | 91精品免费在线观看 | 中文字幕av免费观看 | 51精品国自产在线 | 激情欧美日韩一区二区 | 国产在线a免费观看 | 毛片网站在线看 | 综合网天天色 | 9999在线| 在线天堂中文在线资源网 | 精品美女视频 | 日本护士三级少妇三级999 | 五月花丁香婷婷 | 丁香 婷婷 激情 | 伊人五月 | 免费人成网 | 国产精品一区二区在线 | 成人永久免费 | www.亚洲激情.com | 97精品一区二区三区 | 欧美国产不卡 | 久久天天躁夜夜躁狠狠85麻豆 | 在线免费中文字幕 | 色视频成人在线观看免 | 国产va精品免费观看 | 91av电影在线| 国产精品成人一区二区 | 国产涩涩网站 | 国产精品久久久久久久久久不蜜月 | 亚洲欧美国产日韩在线观看 | 不卡的一区二区三区 | 中文字幕免 | 久草在线高清 | 九九热精品视频在线观看 | 亚洲电影久久久 | 在线韩国电影免费观影完整版 | 色多多在线观看 | 正在播放一区二区 | 四季av综合网站 | 亚洲精品理论 | 欧美日韩亚洲在线观看 | 国产天天爽 | 成年人在线免费看视频 | 欧美日韩精品免费观看 | 在线观看网站av | 99久久精品国产一区二区三区 | 中文字幕日韩精品有码视频 | 亚洲视频在线看 | 国产一二区视频 | 国产高清不卡一区二区三区 | 国产高清在线观看av | 国产涩图 | 久草在| 日韩肉感妇bbwbbwbbw | 亚洲国产精品99久久久久久久久 | 国产第一页福利影院 | 中文字幕观看视频 | 三级av免费| 九九亚洲视频 | 丁香六月激情婷婷 | 中文字幕免费高清在线观看 | 亚洲最大av在线播放 | 91av大全| 欧美日韩aa | 亚州av网站 | 国产视频精品免费 | 97日日碰人人模人人澡分享吧 | 4p变态网欧美系列 | 99色视频 | 日韩美女黄色片 | 欧美性网站 | 久久久久免费精品国产小说色大师 | 日韩极品视频在线观看 | 婷婷久草| 99中文视频在线 | 欧美最猛性xxxxx免费 | 亚一亚二国产专区 | 国产在线一区二区三区播放 | 久射网| 国产精品久久久久久一二三四五 | 久久久久久久久久久久亚洲 | 国产一级免费观看 | 91夫妻视频| 特黄特黄的视频 | 99热在线看| 男女啪啪视屏 | 69av视频在线| 免费无遮挡动漫网站 | 超碰在线观看97 | 久久桃花网 | 久草在线费播放视频 | 天天摸天天弄 | 少妇搡bbb| 美女国产免费 | 99精品在线免费观看 | 日韩在线观看网站 | 成+人+色综合 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产成人一区二区精品非洲 | 91超碰在线播放 | 久久久福利影院 | 国产精品视频全国免费观看 | 亚洲国产精品va在线 | 亚洲免费在线视频 | 91黄色视屏| 91福利影院在线观看 | 久久激情小说 | 久久综合九色综合久久久精品综合 | 午夜精品福利影院 | 黄色毛片网站在线观看 | 综合网av | 久久综合99 | 国产最顶级的黄色片在线免费观看 | 国产精品视频内 | 久久免费在线视频 | 成年人精品 | 国产视频精品免费播放 | 国产探花视频在线播放 | 欧美福利视频 | 二区中文字幕 | 在线观看中文字幕一区 | 精品理论片 | 在线欧美最极品的av | 麻豆视频一区二区 | 成人黄大片视频在线观看 | 久草免费电影 | 日日夜精品 | 91av在线精品 | 午夜精品久久久久久久久久久久久久 | 婷婷午夜| 干 操 插| a级一a一级在线观看 | 日本久久免费电影 | 免费看黄在线 | 成人免费在线视频 | 成年人视频在线观看免费 | 国产精品一区二区中文字幕 | 久久综合精品一区 | 伊人网综合在线观看 | 国产美腿白丝袜足在线av | 亚洲精品国产精品乱码不99热 | 久久国产精品网站 | 91av电影在线观看 | 开心激情五月网 | 亚洲日本国产精品 | 中文字幕乱偷在线 | 日韩电影一区二区三区在线观看 | 91亚洲激情 | 久久色在线播放 | 欧美福利久久 | 四虎4hu永久免费 | av在线官网 | 亚洲国产精品视频在线观看 | 日韩一区二区三区在线看 | 亚洲精品乱码久久久久久写真 | 久久好看| 激情网在线观看 | 免费在线看成人av | 日本黄色一级电影 | 亚洲天天综合网 | 狠狠操夜夜操 | 久久不射电影院 | 在线观看电影av | 狠狠干天天操 | 国产精品免费一区二区 | se婷婷| 国产成人精品久久亚洲高清不卡 | 免费在线电影网址大全 | 欧美另类高潮 | 99精品国产一区二区三区不卡 | 国产一级视屏 | 欧美在线视频a | av在线播放网址 | 欧美亚洲成人xxx | 日本女人b | 日韩精品不卡 | 伊人手机在线 | 五月亚洲婷婷 | 狠狠躁夜夜躁人人爽超碰91 | 久久久久久久久爱 | 久久久免费视频播放 | 午夜精品视频福利 | 久久爽久久爽久久av东京爽 | 亚洲砖区区免费 | 六月婷婷网 | 日本特黄特色aaa大片免费 | 日日夜夜综合 | 五月天天天操 | 亚洲精品xx | 亚洲 中文 在线 精品 | 亚洲精品国产精品乱码在线观看 | 日精品| 成年人视频免费在线播放 | 一区二区三区四区久久 | 亚洲日本韩国一区二区 | www.国产在线视频 | 人人超碰人人 | 99精品视频在线播放观看 | 日韩精品视频在线观看网址 | 激情网站免费观看 | 国产自偷自拍 | 黄色毛片在线观看 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 九九在线免费视频 | 日韩久久久久久久久久 | 成人精品一区二区三区中文字幕 | 婷婷激情5月天 | 免费热情视频 | 色婷婷婷| 麻豆系列在线观看 | 国产午夜在线 | 天天综合亚洲 | 超碰免费公开 | 久久国产视频网站 | 天天操天天怕 | 亚洲成a人片77777kkkk1在线观看 | 久久久久久久久久电影 | 久久久精品欧美一区二区免费 | 久久久久激情视频 | 91精品国产成人 | 99产精品成人啪免费网站 | 国产成人精品久久二区二区 | 久久久久久久久久影视 | 麻豆精品在线视频 | 97国产| 黄色免费网站 | av片一区| 天天干天天干天天干天天干天天干天天干 | 一区二区中文字幕在线 | 色综合久久精品 | 欧美日韩精品在线观看 | 欧美成a人片在线观看久 | 国产成人99av超碰超爽 | www.99av| 欧美一区二区伦理片 | 不卡视频国产 | 欧美专区国产专区 | av成人资源 | 欧美精品做受xxx性少妇 | 五月激情电影 | 亚洲国产欧洲综合997久久, | 最近中文字幕高清字幕免费mv | 夜添久久精品亚洲国产精品 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 在线精品视频在线观看高清 | 国产日本在线播放 | 人人澡人人添人人爽一区二区 | 黄色影院在线免费观看 | 国产精品视频内 | 日精品 | 在线日韩视频 | 国产日韩欧美综合在线 | 99在线精品视频在线观看 | 亚洲乱亚洲乱亚洲 | 探花视频在线观看+在线播放 | 精品免费视频. | 国产高清黄 | www.97视频| 亚洲国产免费看 | 99re8这里有精品热视频免费 | 在线黄色国产电影 | 久久刺激视频 | 日韩亚洲精品电影 | 国产涩涩网站 | 国产黄色精品网站 | 韩日av一区二区 | 激情五月激情综合网 | 久久国产精品久久精品国产演员表 | 久久婷婷综合激情 | 国产成人免费高清 | 麻豆94tv免费版 | 日日夜夜免费精品 | 天天操天天射天天添 | 亚洲精品高清在线 | 日韩性片| 欧美做受高潮 | 2024国产在线 | 91成人在线视频观看 | 天天干天天干天天干 | 亚洲五月激情 | 在线中文字幕网站 | av片免费播放 | 日韩欧在线 | 黄色小视频在线观看免费 | 久久精品欧美一 | 精品日韩av | 国产第一二区 | 亚洲精品高清一区二区三区四区 | 日本中文字幕视频 | 久久综合久久综合这里只有精品 | 欧美日韩首页 | 欧美影片 | 国产精品久久 | 国产精品精品 | 久久66热这里只有精品 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 亚洲第一区在线播放 | 中文字幕一区二区三区四区久久 | 91丨九色丨首页 |