成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 基于nginx實(shí)現(xiàn)上游服務(wù)器動(dòng)態(tài)自動(dòng)上下線無(wú)需reload的實(shí)現(xiàn)方法

基于nginx實(shí)現(xiàn)上游服務(wù)器動(dòng)態(tài)自動(dòng)上下線無(wú)需reload的實(shí)現(xiàn)方法

熱門標(biāo)簽:株洲電銷 陜西辦理400電話 貴陽(yáng)網(wǎng)絡(luò)外呼系統(tǒng)軟件 南充電銷外呼系統(tǒng) 海外工廠地圖標(biāo)注 宿州外呼系統(tǒng)公司 南昌外呼系統(tǒng)定制 信陽(yáng)電銷外呼系統(tǒng)怎么樣 地圖標(biāo)注小程序

網(wǎng)上關(guān)于nginx的介紹有很多,這里講述的是上游服務(wù)(如下圖的Java1服務(wù))在沒(méi)有“網(wǎng)關(guān)”的情況下,如何通過(guò)nginx做到動(dòng)態(tài)上下線。

傳統(tǒng)的做法是,手動(dòng)修改nginx的upstream文件,將Java1的配置注釋或者標(biāo)記為down,然后reload nginx生效。當(dāng)然可以做成腳本自動(dòng)化修改,然而對(duì)于一個(gè)繁忙的nginx來(lái)說(shuō),貿(mào)然reload輕則響應(yīng)緩慢,重則雪崩丟失流量。

那么怎樣做到nginx動(dòng)態(tài)加載upstream配置呢?網(wǎng)上大體有3種方案:

  • 通過(guò)Lua腳本結(jié)合nginx,也就是Openresty方案;
  • 給nginx的每個(gè)server額外添加一個(gè)端口,每次通過(guò)調(diào)用這個(gè)端口修改upstream;
  • 給nginx添加數(shù)據(jù)庫(kù),upstream數(shù)據(jù)放在數(shù)據(jù)庫(kù)中,通過(guò)修改數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)現(xiàn)修改upstream配置。

對(duì)于一個(gè)正在運(yùn)行的生產(chǎn)環(huán)境nginx來(lái)說(shuō),第3個(gè)方案無(wú)疑是成本最低的。下面讓我們具體看一下:

技術(shù)方案:nginx1.16+nginx_upstream_check_module+nginx-upsync-module+consul

說(shuō)明:

  • 這里的consul就是上面所說(shuō)的數(shù)據(jù)庫(kù),它不只是key/value類型的庫(kù),還有一個(gè)簡(jiǎn)潔的web管理頁(yè)面,可以很方便的管理鍵值對(duì)數(shù)據(jù);
  • nginx_upstream_check_module是阿里開(kāi)源的針對(duì)上游服務(wù)的健康檢測(cè)模塊;
  • nginx-upsync-module是微博開(kāi)源的可以與consul/etcd結(jié)合的模塊。

下面分別通過(guò)consul集群部署、nginx改造、創(chuàng)建upstream數(shù)據(jù)3個(gè)方面逐一討論實(shí)施細(xì)節(jié)。

一、部署consul集群

官網(wǎng):https://www.consul.io/

假設(shè)用下面3臺(tái)機(jī)器組成一個(gè)Consul集群:

192.168.21.11
192.168.21.12
192.168.21.13
192.168.21.14 # 這個(gè)IP為代理IP,用于代理上面3臺(tái)機(jī)器

1. 準(zhǔn)備工作

從官網(wǎng)下載consul壓縮包,分別上傳到上面3臺(tái)服務(wù)器,這里的consul版本為1.8.4:

unzip consul_1.8.4_linux_amd64.zip
mv consul /usr/local/bin/
[root@nginx-11 tmp]# consul
Usage: consul [--version] [--help] <command> [<args>]

Available commands are:
 acl Interact with Consul's ACLs
 agent Runs a Consul agent
 catalog Interact with the catalog
 ....

3臺(tái)機(jī)器分別創(chuàng)建consul數(shù)據(jù)、日志、配置文件目錄:

mkdir -p /data/consul/{data,log}
mkdir /etc/consul

2.生成consul配置文件

下面以192.168.21.11的配置文件為例:

[root@nginx-11 tmp]# cat /etc/consul/config.json
{
 "datacenter":"dc1",
 "primary_datacenter":"dc1",
 "bootstrap_expect":3,
 "start_join":[
 "192.168.21.11",
 "192.168.21.12",
 "192.168.21.13"
 ],
 "retry_join":[
 "192.168.21.11",
 "192.168.21.12",
 "192.168.21.13"
 ],
 "advertise_addr": "192.168.21.11",
 "bind_addr": "192.168.21.11",
 "client_addr": "0.0.0.0",
 "server":true,
 "connect":{
 "enabled":true
 },
 "node_name":"192.168.21.11",
 "ui": true,
 "data_dir":"/data/consul/data",
 "enable_script_checks":false,
 "enable_local_script_checks":true,
 "log_file":"/data/consul/log/",
 "log_level":"info",
 "log_rotate_bytes":100000000,
 "log_rotate_duration":"24h",
 "encrypt":"a2zC4ItisuFdpl7IqwoYz3GqwA5W1w2CxjNmyVbuhZ4=",
 "acl":{
 "enabled":true,
 "default_policy":"deny",
 "enable_token_persistence":true,
 "enable_key_list_policy":true,
 "tokens":{
 "master":"6c95012f-d086-4ef3-b6b9-35b60f529bd0"
 }
 }
}

說(shuō)明:

  • 另外2臺(tái)服務(wù)器的配置文件,分別將上面的advertise_addr、bind_addr、node_name對(duì)應(yīng)值修改為對(duì)應(yīng)IP,其他配置不需要改變;
  • 參數(shù) "bootstrap_expect":3 意為希望部署一個(gè)3個(gè)節(jié)點(diǎn)的集群,請(qǐng)根據(jù)實(shí)際情況配置;
  • encrypt與tokens對(duì)應(yīng)的值,3臺(tái)機(jī)器應(yīng)保持一致,encrypt值可以通過(guò)consul keygen命令生成,token值可以通過(guò)uuidgen命令生成,也可以都通過(guò)這2個(gè)工具生成;
  • 相關(guān)參數(shù)的理解可以參考:https://juejin.im/post/6844903860717240334

3. 創(chuàng)建consul集群

分別在3臺(tái)機(jī)器上啟動(dòng)consul即可:

consul agent -config-file=/etc/consul/config.json &

通過(guò)瀏覽器訪問(wèn)http://192.168.21.14:8500(或者任意一個(gè)IP:Port)即可訪問(wèn)consul后臺(tái)界面,輸入上面master的tokens值可以看到里面具體內(nèi)容。

注意:

  • 上面配置文件中的acl配置,“enable_key_list_policy”配置一定要加上,且值要配成“true”,否則匿名用戶可能訪問(wèn)不到consul配置內(nèi)容。

4. 為非管理員創(chuàng)建consul訪問(wèn)權(quán)限

1)創(chuàng)建訪問(wèn)策略

通過(guò)瀏覽器訪問(wèn)consul,點(diǎn)擊ACL -> Access Controls -> Policies -> 右上角Create創(chuàng)建一個(gè)只讀“upstreams”kv策略,名稱為:readonlykv,Rules內(nèi)容為:

key_prefix "upstreams/" {
 policy = "list"
}

創(chuàng)建一個(gè)可以寫(xiě)“upstreams”kv策略,名稱為:writekv,Rules內(nèi)容為:

key_prefix "upstreams/" {
 policy = "write"
}

創(chuàng)建好的2條策略截圖如下:

2)創(chuàng)建訪問(wèn)token

在匿名用戶token中加入允許訪問(wèn)只讀“upstreams”kv策略,用于允許nginx模塊匿名讀取consul配置:
點(diǎn)擊00000002,在Policies中選擇readonlykv即可。

創(chuàng)建可以寫(xiě)“upstreams”kv的token,用于腳本帶此token修改consul配置:
通過(guò)瀏覽器訪問(wèn)consul,點(diǎn)擊ACL -> Access Controls -> Tokens -> 右上角Create,在Policies中選擇writekv。
修改/創(chuàng)建好的2條token截圖如下:

到此Consul集群部署完成。

二、nginx改造

1. 升級(jí)nginx

下載nginx相關(guān)模塊:

nginx-upsync-module:https://github.com/weibocom/nginx-upsync-module

nginx_upstream_check_module:https://github.com/xiaokai-wang/nginx_upstream_check_module

注意:

  • 下載nginx_upstream_check_module模塊時(shí)請(qǐng)一定到xiaokai-wang的GitHub上下載,千萬(wàn)不要到阿里的官方GitHub上下載,否則版本不兼容編譯不過(guò)去;
  • 在對(duì)Nginx升級(jí)前請(qǐng)先做好數(shù)據(jù)備份。

1)對(duì)nginx_upstream_check_module打patch

cd nginx-1.16.0
patch -p1 < /usr/local/src/nginx-1.16/nginx_upstream_check_module-master/check_1.12.1+.patch 

說(shuō)明:我把下載的2個(gè)nginx模塊源碼包放在了/usr/local/src/nginx-1.16/路徑下。

2)編譯nginx

./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/nginx-1.16/nginx_upstream_check_module-master --add-module=/usr/local/src/nginx-1.16/nginx-upsync-module-master ...

說(shuō)明:

我把nginx安裝在/usr/local/下面;

命令后面的省略號(hào)是你要安裝的模塊,請(qǐng)根據(jù)實(shí)際情況添加,通過(guò)nginx -V可以看到當(dāng)前安裝了哪些模塊,然后加上去即可。

3)安裝nginx

make
# 如果是平滑升級(jí),該步不要執(zhí)行 
make install

4)升級(jí)nginx

#再次備份nginx二進(jìn)制文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx16.old
#用新nginx二進(jìn)制文件替換老的
cp objs/nginx /usr/local/nginx/sbin/
#查看已安裝的nginx模塊
/usr/local/nginx/sbin/nginx -V

提醒:經(jīng)過(guò)測(cè)試發(fā)現(xiàn)nginx1.6通過(guò)reload或者發(fā)送kill -USR2命令,老的nginx進(jìn)程并不會(huì)退出,需要重啟nginx才可以生效,不知道是不是Bug。

/usr/local/nginx/sbin/nginx -s stop
#如果老的nginx進(jìn)程仍未推出,使用kill -9強(qiáng)制殺掉ps -ef |grep nginx
#開(kāi)啟nginx
/usr/local/nginx/sbin/nginx 
# 說(shuō)明:發(fā)送kill -USR2命令
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

到此,nginx升級(jí)完成。

2. 配置nginx

1)首先配置nginx展示頁(yè)面,用于快速了解nginx運(yùn)行狀態(tài)

cat nginx.conf
 server {
 listen 80;
 server_name localhost;

 # 在server 80中展示upstream,相當(dāng)于全局配置,其他配置文件不需要配置          # 瀏覽器訪問(wèn)http://nginx-ip:80/upstream_show能查看到nginx upstream的具體配置信息
 location = /upstream_show {
  upstream_show;
 }

 # 在server 80中展示check詳情,相當(dāng)于全局配置,其他配置文件不需要配置          # 瀏覽器訪問(wèn)http://nginx-ip:80/status能查看到上游服務(wù)的健康狀態(tài),報(bào)紅即為有問(wèn)題,白色即為正常
 location /status {
  check_status;
 }

 # 在server 80中展示nginx自帶的狀態(tài),相當(dāng)于全局配置,其他配置文件不需要配置          # nginx原生自帶功能
 location /NginxStatus {
  stub_status on;
  access_log off;
  allow 192.168.0.0/16;
  deny all;
 }
 }
     # 引入具體server配置,每個(gè)server需要配置nginx-upsync-module模塊的配置
 include /usr/local/nginx/conf/vhosts/*.conf;

2)server配置

http方式檢測(cè)

upstream rs1 {
 server 127.0.0.1:11111;
 upsync 192.168.21.14:8500/v1/kv/upstreams/rs1/ upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;
 upsync_dump_path /usr/local/nginx/conf/servers/servers_rs1.conf;

 check interval=1000 rise=2 fall=2 timeout=3000 type=http default_down=false;
 check_http_send "HEAD /health.htm HTTP/1.0\r\n\r\n";
 check_http_expect_alive http_2xx http_3xx;
}

server {
 listen 80;
...

tcp方式檢測(cè)(tcp為默認(rèn)檢測(cè)方式)

upstream rs2 {
 server 127.0.0.1:11111;
 upsync 192.168.21.14:8500/v1/kv/upstreams/rs2/ upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;
 upsync_dump_path /usr/local/nginx/conf/servers/servers_rs2.conf;

 check interval=1000 rise=2 fall=2 timeout=3000 type=tcp default_down=false;
}

server {
 listen 80;
...

說(shuō)明:

  • 推薦使用http方式檢測(cè),http比tcp方式更準(zhǔn)確,該檢測(cè)方式為nginx_upstream_check_module提供,功能強(qiáng)大,參數(shù)簡(jiǎn)單解釋:每隔1秒進(jìn)行1次健康檢查,每次超時(shí)時(shí)間為3秒,連續(xù)2次健康檢查成功則認(rèn)為這個(gè)上游服務(wù)健康,將會(huì)被上線或一直保持在線;連續(xù)2次健康檢查失敗則認(rèn)為這個(gè)上游服務(wù)不健康,將會(huì)被剔除下線?!?health.htm”是上游服務(wù)的健康檢查接口,通過(guò)它判斷服務(wù)是否健康。具體參數(shù)解釋可參考:http://tengine.taobao.org/document_cn/http_upstream_check_cn.html
  • 參數(shù)簡(jiǎn)單解釋:nginx-upsync-module模塊會(huì)每隔0.5秒向consul數(shù)據(jù)庫(kù)檢查一次配置,每次超時(shí)時(shí)間為6分鐘。具體參數(shù)解釋可參考:https://github.com/weibocom/nginx-upsync-module
  • nginx會(huì)在/usr/local/nginx/conf目錄下面創(chuàng)建servers子目錄,該子目錄下會(huì)自動(dòng)創(chuàng)建相關(guān)server配置文件。

到此,nginx配置修改完成。

三、創(chuàng)建upstream數(shù)據(jù)(consul鍵值對(duì))

可以通過(guò)web頁(yè)面或者腳本創(chuàng)建upstream數(shù)據(jù),方法如下:

1. web頁(yè)面操作

如果需要?jiǎng)?chuàng)建目錄,在要?jiǎng)?chuàng)建的字段后面加上"/"即可,如:upstreams/ 。

"Key/Value"中必須先創(chuàng)建"upstreams"目錄(后面有字母s),然后再創(chuàng)建對(duì)應(yīng)的server名稱,截圖如下:

2. 命令行操作

使用命令行時(shí)不需要先創(chuàng)建"upstreams/"目錄,命令會(huì)自動(dòng)創(chuàng)建目錄以及server數(shù)據(jù)。

下面以上游服務(wù)Java1(IP為192.168.20.100,端口號(hào)為8080,upstream分組名稱為rs1)為例:

添加記錄

curl -X PUT http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token

上述命令執(zhí)行后,會(huì)形成一條nginx的upstream默認(rèn)配置信息,即:

server 192.168.20.100:8080 weight=1 max_fails=2 fail_timeout=10s;

可以通過(guò)下面命令自定義權(quán)重等值:

curl -X PUT -d "{\"weight\":100, \"max_fails\":2, \"fail_timeout\":10}" http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token
# 或者 
curl -X PUT -d '{"weight":100, "max_fails":2, "fail_timeout":10}' http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token

刪除記錄

curl -X DELETE http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token

更新權(quán)重

curl -X PUT -d "{\"weight\":100, \"max_fails\":2, \"fail_timeout\":10}" http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token
# 或者 
curl -X PUT -d '{"weight":100, "max_fails":2, "fail_timeout":10}' http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token

下線服務(wù)

curl -X PUT -d "{\"weight\":2, \"max_fails\":2, \"fail_timeout\":10, \"down\":1}" http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token
# 或者
curl -X PUT -d '{"weight":2, "max_fails":2, "fail_timeout":10, "down":1}' http://192.168.21.14:8500/v1/kv/upstreams/rs1/192.168.20.100:8080?token=$token

查看upstream rs1下面有哪些上游服務(wù)器

curl http://192.168.21.14:8500/v1/kv/upstreams/rs1?recurse

推薦使用命令行操作,建議將命令行組裝成腳本實(shí)現(xiàn)DevOps

四、一點(diǎn)感悟

在改造該動(dòng)態(tài)發(fā)現(xiàn)方案期間,遇到了很多問(wèn)題,最棘手的一個(gè)問(wèn)題是測(cè)試環(huán)境種nginx一直報(bào)錯(cuò),upstream數(shù)據(jù)始終無(wú)法完整下載,經(jīng)過(guò)各種排查還是沒(méi)有發(fā)現(xiàn)問(wèn)題,中間我懷疑過(guò)是consul的問(wèn)題,換成了etcd還是同樣的報(bào)錯(cuò),最后通過(guò)抓包跟蹤,發(fā)現(xiàn)是Linux內(nèi)核參數(shù)配置不當(dāng),導(dǎo)致隊(duì)列溢出tcp三次握手失敗,影響nginx與consul通信。

很多方案理論上是沒(méi)有問(wèn)題的,甚至說(shuō)有人已經(jīng)成功運(yùn)用了,但是實(shí)際上親自實(shí)施的話還是會(huì)遇到各種各樣的問(wèn)題,有些甚至是致命的,這時(shí)候就需要耐心的解決。希望大家在看到這篇文章的時(shí)候也去動(dòng)手試試,如果遇到了問(wèn)題請(qǐng)靜下心來(lái)耐心排查。

還有一個(gè)是,很多人說(shuō)運(yùn)維是不產(chǎn)生價(jià)值的,我認(rèn)為這么說(shuō)是不對(duì)的,運(yùn)維需要體現(xiàn)的價(jià)值有很多,SRE就是其中的一種。

到此這篇關(guān)于基于nginx實(shí)現(xiàn)上游服務(wù)器動(dòng)態(tài)自動(dòng)上下線無(wú)需reload的文章就介紹到這了,更多相關(guān)nginx上游服務(wù)器自動(dòng)上下線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:汕頭 晉城 鄭州 拉薩 三明 玉林 開(kāi)封 石嘴山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于nginx實(shí)現(xiàn)上游服務(wù)器動(dòng)態(tài)自動(dòng)上下線無(wú)需reload的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  基于,nginx,實(shí)現(xiàn),上游,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于nginx實(shí)現(xiàn)上游服務(wù)器動(dòng)態(tài)自動(dòng)上下線無(wú)需reload的實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于基于nginx實(shí)現(xiàn)上游服務(wù)器動(dòng)態(tài)自動(dòng)上下線無(wú)需reload的實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    可骚可骚的黄视频网站| 欧美高清电影在线看| 久艹视频在线观看| h视频免费看| 手机在线色视频| 国产探花在线免费观看| 黄色一级视频播放| 一区二区三区四区免费视频| 依依成人综合视频| 成人免费网站www网站高清| 搜索黄色一级片| 中文字幕三级电影| 蜜桃视频m3u8在线观看| 一区二区三区av在线| 另类图片亚洲色图| 精品乱色一区二区中文字幕| 欧美一级日韩一级| 国产日产精品1区| 欧美日韩亚洲激情| 欧美行性性性o00x| 成人影院在线免费观看| 最近中文字幕在线中文视频| gogo人体高清视频| 肉色欧美久久久久久久免费看| 欧美韩国日本在线观看| 欧美性色aⅴ视频一区日韩精品| 五福影院新址进入www1378| 中文字幕日韩高清在线| 国产又粗又猛又爽视频| 亚洲国产精品999| 亚洲精品v天堂中文字幕| 国产日韩换脸av一区在线观看| 国产野外作爱视频播放| 无码人妻精品一区二区蜜桃色欲| 97碰碰碰免费公开在线视频| 精品国产一区二区三区忘忧草| 中文字幕日韩免费视频| 色综合老司机第九色激情| 116美女写真午夜一级久久| 免费在线你懂的| 污污在线观看| 伊人久久大香线蕉成人综合网| 盗摄牛牛av影视一区二区| 中文字幕日韩在线观看| 中文字幕一区二区三区四区欧美| 成人无号精品一区二区三区| 国产美女福利在线| 久久精品一区二区三区四区| av超碰免费在线| www.精品| 手机福利小视频在线播放| 精品一区二区三区免费播放| 国产乱妇无码大片在线观看| 国产av不卡一区二区| 久久99精品久久久久久| 欧美性受xxxx黑人xxxx| 国产一区二区视频免费在线观看| 亚洲一区二区三区网站| 九七电影韩国女主播在线观看| 91国产免费看| 99热这里有精品| 免费一级黄色录像| 国产女人18毛片水18精品| 国产一区二区三区四区大秀| 日韩欧美中文字幕视频| 日本在线视频中文字幕| 福利小视频在线| 9自拍视频在线观看| 国产在线视频欧美| 精一区二区三区| 91亚洲精品在看在线观看高清| 18aaaa精品欧美大片h| 欧美日韩1区| 国产专区在线视频| 日韩高清在线| 久久99国内精品| japanesexxxxfree在线观看| 亚洲宅男网av| 国产成人一区在线| 欧美日韩亚洲另类| 成人在线观看免费视频| 精品一区二区在线观看视频| 欧美日韩精品亚洲精品| 国产视频福利| 久久久一区二区三区四区| 欧美一卡2卡3卡4卡| 国产精品久久久久久久久男| 最近看过的日韩成人| 久久久久亚洲av成人无码电影| av在线播放成人| 久久久精品一区二区| 国产一区二区区别| 国模私拍视频在线播放| 白白色在线观看| 欧美日韩精品一区二区| 日本天堂在线观看| 日韩视频久久| 欧美精品三级在线| 手机看片福利视频| 偷偷要91色婷婷| 色婷婷综合久久久久中文字幕| 91社区在线播放| 91在线视频观看免费| 国产精品区一区二区三在线播放| 欧美日韩国内自拍| 九一在线视频| 国产老妇伦国产熟女老妇视频| 亚洲精品日韩av| 国产亚洲美州欧州综合国| 91精品国产综合久久精品| 大乳护士喂奶hd| 激情自拍一区| 91精品国产一区二区三区香蕉| 2020国产精品极品色在线观看| 啦啦啦啦免费高清视频在线观看1| 久久99久久99小草精品免视看| av中文字幕在线看| 日本中文字幕影院| 狠狠色综合一区二区| av成人动漫在线观看| 蜜桃视频网站www| 91禁男男在线观看| 黄色片网站在线观看| 久久伊人免费视频| 中文字幕在线观看第三页| 免费白浆视频| 91精品二区| 欧美美女一区二区| 欧美理论在线观看| 亚洲小说欧美激情另类| 人妻熟人中文字幕一区二区| 亚洲综合在线播放| 羞羞免费视频| 亚洲精品一区二三区| 色狠狠一区二区三区香蕉| 亚洲香蕉成视频在线观看| 蜜桃精品一区二区| 日韩精品亚洲一区| 亚洲xxxxx电影| 久久婷婷丁香| 欧美少妇精品| 2019中文亚洲字幕| 美女久久久久| 中文天堂在线播放| 亚洲人成毛片在线播放| 26uuu亚洲电影在线观看| 亚洲精品乱码久久久久久9色| 丁香网亚洲国际| 亚洲欧美不卡| 亚洲毛片在线观看| 国外视频精品毛片| 三年中文在线观看免费大全中国| 最新亚洲视频| 99久久精品免费看国产小宝寻花| 999国产精品视频| 高潮按摩久久久久久av免费| 精品影片在线观看的网站| 激情五月综合婷婷| 少妇太紧太爽又黄又硬又爽小说| 无码人妻精品一区二区三区不卡| 成人亚洲激情网| 成人永久看片免费视频天堂| 在线播放免费视频| 欧美性爽视频| a级黄色免费视频| 亚洲男同1069视频| 免费观看h片| 久久福利一区| 99精品欧美一区二区三区小说| 奇米4444一区二区三区| 伊人久久大香线蕉| 日韩伦人妻无码| 国产福利视频一区| 日韩成人伦理电影在线观看| 亚洲乱码日产精品bd在线观看| 日本肉肉一区| 一区二区三区在线高清| 欧美精品亚洲二区| 试看120秒一区二区三区| www.日韩精品| 亚洲第一精品夜夜躁人人爽| 成人亚洲免费视频| 国产精品久久久久免费a∨| 精品三级在线观看| 精品卡一卡卡2卡3网站| 性欧美大胆高清视频| 中文字幕www| 日韩美女一区二区三区在线观看| 飘雪影视在线观看免费观看| 四虎永久在线高清国产精品| 2023国产精品视频| 精品少妇久久久久久888优播| 国产在线拍偷自揄拍精品| 精品日韩成人av| 91最新地址在线播放| 国产成人精品影院| 国自产拍偷拍福利精品免费一| 在线观看免费的av| 色综合天天视频在线观看| 日韩午夜电影免费看| 在线成人激情视频| 成人a视频在线观看| 欧美一级本道电影免费专区| 精品国产乱码久久久久久1区2匹| 国产成人亚洲综合色影视| 国产亚洲欧美日韩俺去了| 91好吊色国产欧美日韩在线| 亚洲天堂日韩av| 视频免费在线观看| 极品校花啪啪激情久久| 欧美.www| 日韩三级在线观看| 能看av的网址| 狠狠操在线视频| 成人午夜精品久久久久久久蜜臀| 日本免费在线视频不卡一不卡二| 国产一区二区视频在线观看免费| 少妇大叫太粗太大爽一区二区| 日本中文字幕一区二区| 97超碰国产精品女人人人爽| 影音先锋中文在线观看| 人善交video高清| 在线免费看黄| 美女av一区二区三区| 一区二区国产在线| 精品视频全国免费看| 国产精品999久久久| 国产一区二区在线影院| 亚洲国产私拍精品国模在线观看| 日韩中文字幕国产| 亚洲少妇最新在线视频| 国产乱子夫妻xx黑人xyx真爽| 国产呦系列欧美呦日韩呦| 大黑人交xxx极品hd| 久草在线免费福利资源| 精品人妻aV中文字幕乱码色欲| 香蕉久久久久久av成人| a级片一区二区| 亚洲精品乱码久久久久久黑人| 伊人手机在线| 亚洲五月综合| 99热在线观看免费| 欧美人与z0zoxxxx特| 另类综合图区| 精品av导航| 欧美色综合网| 精品久久久久久久久久久国产字幕| 国产精品久久久久久久牛牛| www.色婷婷.com| 久久99精品久久久久久| 麻豆av在线| 国产成人亚洲精品| 91麻豆精品国产综合久久久久久| 国产情侣自拍av| 影音先锋男士资源站| 天堂在线看视频| 第四色男人最爱上成人网| 亚洲人成网7777777国产| 亚洲精品久久久蜜桃动漫| 精品久久久一区二区| 日韩不卡一二三| 国内精品美女在线观看| 日本一区二区免费看| 欧美性受xxxx黑人爽| 亚洲最新视频在线播放| 色青青草原桃花久久综合| 一区二区三区欧美久久| 精品视频在线播放一区二区三区| 97视频热人人精品免费| www.污污视频| 日本aa大片在线播放免费看| 你懂的在线网址| 性欧美精品一区二区三区在线播放| 51免费午夜啪啪| 免费三片60分钟| 成人18夜夜网深夜福利网| 免费观看又色又爽又黄的网站| 九九色在线视频| 日韩精品成人一区二区在线| h片在线观看视频| 国产人成在线观看| 美女视频网站在线观看| 91网站在线观看视频| 麻豆av在线免费观看| 国产69精品久久久久孕妇| 在线观看视频欧美| 成年人在线观看视频免费| 日本大胆欧美人术艺术动态| 欧美丝袜丝交足nylons172| 国产中文字幕视频| 999在线精品视频| 777电影在线观看| 色橹橹高清视频在线播放| 亚洲美女在线免费观看| 精品熟妇无码av免费久久| 91精品国产综合久久久久久豆腐| 成人激情视频| 日韩高清在线观看一区二区| 日本韩国一区二区| 日韩欧美国产综合一区| jizz性欧美10| 欧美插天视频在线播放| 久久久夜色精品亚洲| 欧美剧情电影在线观看完整版免费励志电影| 国产成人在线免费视频| 伊色综合久久之综合久久| 国产日韩第一页| 国产精品影院在线| 欧美色视频一区二区三区在线观看| 麻豆专区一区二区三区四区五区| 国产精品美女久久久久久免费| 色噜噜在线播放| 国产成都精品91一区二区三| 国产jizz| av大片在线看| 99精品黄色片免费大全| 日韩高清一区| 重囗味另类老妇506070| 午夜一区二区三区视频| 国产精一区二区三区| 国产毛片久久久| 天堂综合在线播放| 欧美日本免费一区二区三区| 五月婷婷开心综合| 欧美日韩久久一区| jizzjizz16| 日日摸夜夜夜夜夜添| yw.139尤物在线精品视频|