日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Supervisor使用教程

發布時間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Supervisor使用教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux kill 掉所有匹配到名字的進程

如,要 kill 掉 swoole 相關的進程

ps aux | grep swoole | awk ‘{print $2}’ | xargs kill -9

ps 列出所有進程,

參數:

a - 顯示現行終端機下的所有進程,包括其他用戶的進程;

u - 以用戶為主的進程狀態 ;

x - 通常與 a 這個參數一起使用,可列出較完整信息。

grep 過濾掉不包含 “swoole” 的行

awk ‘{print $2}’ 獲取進程 ID (PID, Process Identification),我們想 kill 掉某一個進程的時候需要通過 PID 指定特定進程

xargs 將標準輸入數據轉換成命令行參數,xargs能夠處理管道或者stdin并將其轉換成特定命令的命令參數。

也就是將管道傳遞過來的每一個 PID 作為 kill -9 的參數

<div><p>在項目中,經常有腳本需要常駐運行的需求。以PHP腳本為例,最簡單的方式是:</p><pre>$&nbsp;nohup&nbsp;php&nbsp;cli.php&nbsp;&amp;</pre><p>這樣能保證當前終端被關閉或者按CRTL+C后,腳本仍在后臺運行。但是沒法保證腳本異常后自動重啟等。</p><p>Supervisor 是用Python開發的一套通用的進程管理程序,能將一個普通的命令行進程變為后臺daemon,并監控進程狀態,異常退出時能自動重啟。</p><p>官網介紹:<a href="http://supervisord.org/">http://supervisord.org/</a></p><p>本文所用環境:</p><ul class="list-paddingleft-2"><li><p>CentOS release 6.8 (Final)</p></li><li><p>Python 2.6.6</p></li><li><p>pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)</p></li><li><p>supervisor 3.3.4</p></li></ul><h2>安裝</h2><h3>平臺要求</h3><p>引自官網(<a href="http://supervisord.org/introduction.html#platform-requirements">http://supervisord.org/introduction.html#platform-requirements</a>):</p><blockquote><p>Supervisor已經過測試,可以在Linux(Ubuntu 9.10),Mac OS X(10.4 / 10.5 / 10.6)和Solaris(10 for Intel)和FreeBSD 6.1上運行。它可能在大多數UNIX系統上都能正常工作。在任何版本的Windows下,Supervisor 都不會運行。Supervisor 可以使用<code>Python 2.4</code>或更高版本,但不能在任何版本的<code>Python 3</code>下使用。</p></blockquote><p>我使用的環境:</p><pre>$&nbsp;python&nbsp;-V

Python?2.6.6

安裝

安裝方法有:
1、easy_install 安裝(需安裝有pip):

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;easy_insta…?pip?install?supervisor

3、Debian / Ubuntu可以直接通過apt安裝:

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;apt-get&nb…?mkdir?/etc/supervisor
KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;echo_super…?supervisord

即可運行。

supervisor 默認在以下路徑查找配置文件:/usr/etc/supervisord.conf, /usr/supervisord.conf, supervisord.conf, etc/supervisord.conf, /etc/supervisord.conf, /etc/supervisor/supervisord.conf

如需指定主配置文件,則需要使用-c參數:

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;supervisor…?supervisord?-v
3.3.4

然后查看supervisor的狀態:

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;supervisor…?/etc/init.d/supervisor?start

運行。

使用示例

我們以簡單的 /tmp/echo_time.sh 為例:

#/bin/bashwhile?true;?do
echo?date&nbsp;+%Y-%m-%d,%H:%m:%s
sleep?2done

在/etc/supervisor/conf.d/新增子進程配置文件 echo_time.conf:

[program:echo_time]command=sh?/tmp/echo_time.shpriority=999????????????????;?the?relative?start?priority?(default?999)autostart=true??????????????;?start?at?supervisord?start?(default:?true)autorestart=true????????????;?retstart?at?unexpected?quit?(default:?true)startsecs=10????????????????;?number?of?secs?prog?must?stay?running?(def.?10)startretries=3??????????????;?max?#?of?serial?start?failures?(default?3)exitcodes=0,2???????????????;?‘expected’?exit?codes?for?process?(default?0,2)stopsignal=QUIT?????????????;?signal?used?to?kill?process?(default?TERM)stopwaitsecs=10?????????????;?max?num?secs?to?wait?before?SIGKILL?(default?10)user=root?????????????????;?setuid?to?this?UNIX?account?to?run?the?programlog_stdout=truelog_stderr=true?????????????;?if?true,?log?program?stderr?(def?false)logfile=/tmp/echo_time.loglogfile_maxbytes=1MB????????;?max?#?logfile?bytes?b4?rotation?(default?50MB)logfile_backups=10??????????;?#?of?logfile?backups?(default?10)stdout_logfile_maxbytes=20MB??;?stdout?日志文件大小,默認?50MBstdout_logfile_backups=20?????;?stdout?日志文件備份數stdout_logfile=/tmp/echo_time.stdout.log

然后啟動程序:

$?supervisorctl?reread
KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;supervisor…?tail?-f?/tmp/echo_time.stdout.log
2018-12-22,14:12:1545459550
2018-12-22,14:12:1545459552
2018-12-22,14:12:1545459554

也可以使用supervisorctl status查看子進程運行情況:

$?supervisorctl??status
echo_time????????????????????????RUNNING???pid?28206,?uptime?0:00:11

配置文件

主配置

主配置文件名: supervisord.conf

可以通過運行echo_supervisord_conf獲得。這個配置文件一般情況下不需要更改,除了最后的[include]部分,其余保持默認即可。

[unix_http_server]file=/tmp/supervisor.sock???;?the?path?to?the?socket?file;chmod=0700?????????????????;?socket?file?mode?(default?0700)
;chown=nobody:nogroup???????;?socket?file?uid:gid?owner
;username=user??????????????;?default?is?no?username?(open?server)
;password=123???????????????;?default?is?no?password?(open?server)

;[inet_http_server]?????????;?配置web后臺
;port=127.0.0.1:9001????????;?指定ip_address:port,?使用?*:port?監聽所有?IP
;username=user??????????????;?默認沒有用戶名?(open?server)
;password=123???????????????;?默認沒有密碼?(open?server)

[supervisord]
logfile=/tmp/supervisord.log?;?日志文件;?默認?KaTeX parse error: Expected 'EOF', got '&' at position 42: …e_maxbytes=50MB&?nbsp;&nbsp;&nbs…TEMP
;environment=KEY=“value”?????;?key?value?pairs?to?add?to?environment
;strip_ansi=false????????????;?strip?ansi?escape?codes?in?logs;?def.?false;?The?rpcinterface:supervisor?section?must?remain?in?the?config?file?for;?RPC?(supervisorctl/web?interface)?to?work.??Additional?interfaces?may?be
;?added?by?defining?them?in?separate?[rpcinterface:x]?sections.

[rpcinterface:supervisor]
supervisor.rpcinterface_factory?=?supervisor.rpcinterface:make_main_rpcinterface

;?配置?supervisorctl?
;?configure?it?match?the?settings?in?either?the?unix_http_server
;?or?inet_http_server?section.

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock?;?use?a?unix://?URL??for?a?unix?socket
;serverurl=http://127.0.0.1:9001?;?use?an?http://?url?to?specify?an?inet?socket
;username=chris??????????????;?should?be?same?as?in?[_http_server]?if?set
;password=123????????????????;?should?be?same?as?in?[_http_server]?if?set
;prompt=mysupervisor?????????;?cmd?line?prompt?(default?“supervisor”)
;history_file=~/.sc_history??;?use?readline?history?if?available

;?下面是子進程配置文件示例
;?Create?one?or?more?‘real’?program:?sections?to?be?able?to?control?them?under
;?supervisor.

;[program:theprogramname]
;command=/bin/cat??????????????;?the?program?(relative?uses?PATH,?can?take?args)
;process_name=%(program_name)s?;?process_name?expr?(default?%(program_name)s)
;numprocs=1????????????????????;?number?of?processes?copies?to?start?(def?1)
;directory=/tmp????????????????;?directory?to?cwd?to?before?exec?(def?no?cwd)
;umask=022?????????????????????;?umask?for?process?(default?None)
;priority=999??????????????????;?the?relative?start?priority?(default?999)
;autostart=true????????????????;?start?at?supervisord?start?(default:?true)
;startsecs=1???????????????????;?#?of?secs?prog?must?stay?up?to?be?running?(def.?1)
;startretries=3????????????????;?max?#?of?serial?start?failures?when?starting?(default?3)
;autorestart=unexpected????????;?when?to?restart?if?exited?after?running?(def:?unexpected)
;exitcodes=0,2?????????????????;?‘expected’?exit?codes?used?with?autorestart?(default?0,2)
;stopsignal=QUIT???????????????;?signal?used?to?kill?process?(default?TERM)
;stopwaitsecs=10???????????????;?max?num?secs?to?wait?b4?SIGKILL?(default?10)
;stopasgroup=false?????????????;?send?stop?signal?to?the?UNIX?process?group?(default?false)
;killasgroup=false?????????????;?SIGKILL?the?UNIX?process?group?(def?false)
;user=chrism???????????????????;?setuid?to?this?UNIX?account?to?run?the?program
;redirect_stderr=true??????????;?redirect?proc?stderr?to?stdout?(default?false)
;stdout_logfile=/a/path????????;?stdout?log?path,?NONE?for?none;?default?AUTO
;stdout_logfile_maxbytes=1MB???;?max?#?logfile?bytes?b4?rotation?(default?50MB)
;stdout_logfile_backups=10?????;?#?of?stdout?logfile?backups?(0?means?none,?default?10)
;stdout_capture_maxbytes=1MB???;?number?of?bytes?in?‘capturemode’?(default?0)
;stdout_events_enabled=false???;?emit?events?on?stdout?writes?(default?false)
;stderr_logfile=/a/path????????;?stderr?log?path,?NONE?for?none;?default?AUTO
;stderr_logfile_maxbytes=1MB???;?max?#?logfile?bytes?b4?rotation?(default?50MB)
;stderr_logfile_backups=10?????;?#?of?stderr?logfile?backups?(0?means?none,?default?10)
;stderr_capture_maxbytes=1MB???;?number?of?bytes?in?‘capturemode’?(default?0)
;stderr_events_enabled=false???;?emit?events?on?stderr?writes?(default?false)
;environment=A=“1”,B=“2”???????;?process?environment?additions?(def?no?adds)
;serverurl=AUTO????????????????;?override?serverurl?computation?(childutils)

;?The?sample?eventlistener?section?below?shows?all?possible?eventlistener
;?subsection?values.??Create?one?or?more?‘real’?eventlistener:?sections?to?be
;?able?to?handle?event?notifications?sent?by?supervisord.

;[eventlistener:theeventlistenername]
;command=/bin/eventlistener????;?the?program?(relative?uses?PATH,?can?take?args)
;process_name=%(program_name)s?;?process_name?expr?(default?%(program_name)s)
;numprocs=1????????????????????;?number?of?processes?copies?to?start?(def?1)
;events=EVENT??????????????????;?event?notif.?types?to?subscribe?to?(req’d)
;buffer_size=10????????????????;?event?buffer?queue?size?(default?10)
;directory=/tmp????????????????;?directory?to?cwd?to?before?exec?(def?no?cwd)
;umask=022?????????????????????;?umask?for?process?(default?None)
;priority=-1???????????????????;?the?relative?start?priority?(default?-1)
;autostart=true????????????????;?start?at?supervisord?start?(default:?true)
;startsecs=1???????????????????;?#?of?secs?prog?must?stay?up?to?be?running?(def.?1)
;startretries=3????????????????;?max?#?of?serial?start?failures?when?starting?(default?3)
;autorestart=unexpected????????;?autorestart?if?exited?after?running?(def:?unexpected)
;exitcodes=0,2?????????????????;?‘expected’?exit?codes?used?with?autorestart?(default?0,2)
;stopsignal=QUIT???????????????;?signal?used?to?kill?process?(default?TERM)
;stopwaitsecs=10???????????????;?max?num?secs?to?wait?b4?SIGKILL?(default?10)
;stopasgroup=false?????????????;?send?stop?signal?to?the?UNIX?process?group?(default?false)
;killasgroup=false?????????????;?SIGKILL?the?UNIX?process?group?(def?false)
;user=chrism???????????????????;?setuid?to?this?UNIX?account?to?run?the?program
;redirect_stderr=false?????????;?redirect_stderr=true?is?not?allowed?for?eventlisteners
;stdout_logfile=/a/path????????;?stdout?log?path,?NONE?for?none;?default?AUTO
;stdout_logfile_maxbytes=1MB???;?max?#?logfile?bytes?b4?rotation?(default?50MB)
;stdout_logfile_backups=10?????;?#?of?stdout?logfile?backups?(0?means?none,?default?10)
;stdout_events_enabled=false???;?emit?events?on?stdout?writes?(default?false)
;stderr_logfile=/a/path????????;?stderr?log?path,?NONE?for?none;?default?AUTO
;stderr_logfile_maxbytes=1MB???;?max?#?logfile?bytes?b4?rotation?(default?50MB)
;stderr_logfile_backups=10?????;?#?of?stderr?logfile?backups?(0?means?none,?default?10)
;stderr_events_enabled=false???;?emit?events?on?stderr?writes?(default?false)
;environment=A=“1”,B=“2”???????;?process?environment?additions
;serverurl=AUTO????????????????;?override?serverurl?computation?(childutils)

;?The?sample?group?section?below?shows?all?possible?group?values.??Create?one
;?or?more?‘real’?group:?sections?to?create?“heterogeneous”?process?groups.

;[group:thegroupname]
;programs=progname1,progname2??;?each?refers?to?‘x’?in?[program:x]?definitions
;priority=999??????????????????;?the?relative?start?priority?(default?999)

;?配置include?files
;?The?[include]?section?can?just?contain?the?“files”?setting.??This
;?setting?can?list?multiple?files?(separated?by?whitespace?or;?newlines).??It?can?also?contain?wildcards.??The?filenames?are
;?interpreted?as?relative?to?this?file.??Included?files?cannot
;?include?files?themselves.

[include]??
;?.ini和.conf都支持
files?=?relative/directory/*.ini

子進程配置文件

一般放在:/etc/supervisor/conf.d/目錄 。一個腳本對應一個配置文件。

配置說明:

;為必須填寫項;[program:應用名稱][program:cat];*命令路徑,如果使用python啟動的程序應該為?python?/home/test.py,?;不建議放入/home/user/,?對于非user用戶一般情況下是不能訪問command=/bin/cat;當numprocs為1時,process_name=%(program_name)s;當numprocs>=2時,%(program_name)s_%(process_num)02dprocess_name=%(program_name)s;進程數量numprocs=1;執行目錄,若有/home/supervisor_test/test1.py;將directory設置成/home/supervisor_test;則command只需設置成python?test1.py;否則command必須設置成絕對執行目錄directory=/tmp;掩碼:—?-w-?-w-,?轉換后rwx?r-x?w-xumask=022;優先級,值越高,最后啟動,最先被關閉,默認值999priority=999;如果是true,當supervisor啟動時,程序將會自動啟動autostart=true;*自動重啟autorestart=true;啟動延時執行,默認1秒startsecs=10;啟動嘗試次數,默認3次startretries=3;當退出碼是0,2時,執行重啟,默認值0,2exitcodes=0,2;停止信號,默認TERM;中斷:INT(類似于Ctrl+C)(kill?-INT?pid),退出后會將寫文件或日志(推薦);終止:TERM(kill?-TERM?pid);掛起:HUP(kill?-HUP?pid),注意與Ctrl+Z/kill?-stop?pid不同;從容停止:QUIT(kill?-QUIT?pid);KILL,?USR1,?USR2其他見命令(kill?-l),說明1stopsignal=TERMstopwaitsecs=10;*以root用戶執行user=root;重定向redirect_stderr=falsestdout_logfile=/a/pathstdout_logfile_maxbytes=1MBstdout_logfile_backups=10stdout_capture_maxbytes=1MBstderr_logfile=/a/pathstderr_logfile_maxbytes=1MBstderr_logfile_backups=10stderr_capture_maxbytes=1MB;環境變量設置environment=A=“1”,B="2"serverurl=AUTO

簡化模板

[program:echo_time]command=sh?/tmp/echo_time.shautostart=trueautorestart=truestartsecs=10startretries=3?exitcodes=0,2stopsignal=QUITstopwaitsecs=10user=rootlog_stdout=truelog_stderr=truelogfile=/tmp/echo_time.loglogfile_maxbytes=1MBlogfile_backups=10?stdout_logfile_maxbytes=20MB?
stdout_logfile_backups=20?stdout_logfile=/tmp/echo_time.stdout.log

命令行程序

supervisord

supervisord 是主進程。

通過supervisord -h可以查看幫助說明。示例:

-c/–configuration?FILENAME?;指定配置文件-n/–nodaemon?;運行在前臺(調試用)-v/–version?;打印版本信息-u/–user?USER?;以指定用戶(或用戶ID)運行-m/–umask?UMASK?;指定子進程的umask,默認是022-l/–logfile?FILENAME?;指定日志文件-e/–loglevel?LEVEL?;指定日志級別

supervisorctl

supervisorctl 是客戶端程序,用于向supervisord發起命令。

通過supervisorctl -h可以查看幫助說明。我們主要關心的是其action命令:

$?supervisorctl??helpdefault?commands?(type?help?<topic>):

add????exit??????open??reload??restart???start???tail???
avail??fg????????pid???remove??shutdown??status??update?
clear??maintail??quit??reread??signal????stop????version

這些命令對于控制子進程非常重要。示例:

reread?;重新加載配置文件
update?;將配置文件里新增的子進程加入進程組,如果設置了autostart=true則會啟動新新增的子進程
status?;查看所有進程狀態
status?<name>?;查看指定進程狀態
start?all;?啟動所有子進程
start?<name>;?啟動指定子進程
restart?all;?重啟所有子進程
restart?<name>;?重啟指定子進程
stop?all;?停止所有子進程
stop?<name>;?停止指定子進程
reload?;重啟supervisord
add?<name>;?添加子進程到進程組
reomve?<name>;?從進程組移除子進程,需要先stop。注意:移除后,需要使用reread和update才能重新運行該進程

supervisord 有進程組(process group)的概念:只有子進程在進程組,才能被運行。

supervisorctl也支持交互式命令行:

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;supervisor…?supervisorctl?reload

瀏覽器訪問:http://myip:9001 ,輸入用戶名、密碼后,即可看到web頁面:

注意:如果修改配置文件時,[inet_http_server]這一行被注釋,會導致不僅web需要認證,命令行使用supervisorctl也需要認證,這時候就需要在交互式命令行里輸入用戶名、密碼才能進行下一步的操作。

其它問題

1、Centos6 docker環境沒有pip

解決方案:需要先安裝擴展源EPEL。

EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社區打造,為 RHEL 及衍生發行版如 CentOS、Scientific Linux 等提供高質量軟件包的項目。

首先安裝epel擴展源:

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;yum&nbsp;-…?yum?-y?install?python-pip

查看版本:

KaTeX parse error: Expected 'EOF', got '&' at position 1: &?nbsp;pip&nbsp;-…?supervisor?-V

出現:

Traceback?(most?recent?call?last):??File?“/usr/bin/echo_supervisord_conf”,?line?5,?in?<module>????from?pkg_resources?import?load_entry_point??File?“/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py”,?line?2603,?in?<module>??File?“/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py”,?line?666,?in?require??File?“/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py”,?line?565,?in?resolve
pkg_resources.DistributionNotFound:?meld3>=0.6.5

原因:pip安裝的meld3不可用,手動安裝。

wget?https://pypi.python.org/packages/source/m/meld3/meld3-1.0.2.tar.gz
tar?-zxf?meld3-1.0.2.tar.gzcd?meld3-1.0.2
python?setup.py?install

感謝https://www.cnblogs.com/hubery/p/5653007.html 文章提供的方法!這個問題困擾了好久,github頁面(https://github.com/Supervisor/meld3/issues/23)提供的解決方案都不可行,反而導致pip都不能用了。

3、因參考github里meld3解決方案導致pip不可用:

Traceback?(most?recent?call?last):??File?“/usr/bin/pip”,?line?5,?in?<module>????from?pkg_resources?import?load_entry_point??File?“/usr/lib/python2.6/site-packages/pkg_resources/init.py”,?line?957,?in?<module>????class?Environment:??File?“/usr/lib/python2.6/site-packages/pkg_resources/init.py”,?line?961,?in?Environment????self,?search_path=None,?platform=get_supported_platform(),??File?“/usr/lib/python2.6/site-packages/pkg_resources/init.py”,?line?188,?in?get_supported_platform
plat?=?get_build_platform()??File?“/usr/lib/python2.6/site-packages/pkg_resources/init.py”,?line?391,?in?get_build_platform????from?sysconfig?import?get_platform
ImportError:?No?module?named?sysconfig

解決方案:刪除/site-packages下面的包,重新安裝python-setuptools:

rm?-rf?/usr/lib/python2.6/site-packages/pkg_resources*
yum?reinstall?python-setuptools

參考:https://stackoverflow.com/questions/50742538/importerror-no-module-named-sysconfig-cant-get-pip-working

參考

1、Supervisor: A Process Control System — Supervisor 3.3.4 documentation
http://supervisord.org/index.html
2、進程管理supervisor的簡單說明 - jyzhou - 博客園
https://www.cnblogs.com/zhoujinyi/p/6073705.html
3、DevOps
https://mp.weixin.qq.com/s/mqrkAEaGFKJy-4PQadJJ9w?
4、supervisor使用 - 回首鄭板橋 - 博客園
https://www.cnblogs.com/hubery/p/5653007.html

原文出處:https://www.cnblogs.com/52fhy/p/10161253.html ?




點擊查看更多內容





PHP





1人點贊


若覺得本文不錯,就分享一下吧!

















總結

以上是生活随笔為你收集整理的Supervisor使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 午夜剧场在线 | 欧美精品二区三区 | 岛国精品在线观看 | 亚洲丝袜一区 | 白浆在线播放 | 五月婷在线 | 欧美日韩精品电影 | 性生交大片免费看l | 热久久精品免费视频 | 久久综合福利 | 欧美日韩视频在线观看免费 | 色女人影院 | 中文字幕97| 久久金品| 一级片大片 | 国产特级淫片免费看 | 一区二区三区观看 | 欧美一区二区最爽乱淫视频免费看 | 99久久九九 | 日本囗交做爰视频 | 国产欧美精品在线观看 | 日韩特黄一级片 | 亚洲av永久一区二区三区蜜桃 | 色悠久久综合 | 哺乳喂奶一二三区乳 | 欧美特黄色片 | 亚洲精品视频91 | 亚洲女人天堂 | 成年人天堂 | 天堂久久av | 波多野结衣在线视频免费观看 | 韩国成人在线 | 丁五月| 国产传媒视频在线 | 日韩手机看片 | av伦理在线| 久久久久久久久久久久久久久久久久久 | 国产精品久久久久久久成人午夜 | 国产欧美啪啪 | 超碰av免费 | 久草成人在线 | 久久精精品久久久久噜噜 | 中文字幕日韩精品亚洲一区小树林 | 中文文字幕一区二区三三 | 亚洲网站在线播放 | 亚洲精品久久夜色撩人男男小说 | 涩涩片影院 | 欧美精品在线观看视频 | 美女张开腿让男人操 | 欧美精品www | 美女av免费在线观看 | 日韩经典三级 | 欧美野外猛男的大粗鳮 | 久草资源在线 | 婷婷丁香九月 | 色婷婷久久 | 久久亚洲一区 | 国产美女在线免费观看 | 韩日av片| 顶级尤物极品女神福利视频 | 无码人妻精品一区二区三区夜夜嗨 | 免费看黄色大片 | 国产鲁鲁视频在线观看特色 | 国产原创精品 | 91精品一区二区三区四区 | 去毛片| 欧美做爰全过程免费观看 | 欧美精品做受xxx性少妇 | 国产欧美网站 | 男人天堂2014 | 求个黄色网址 | 手机看片中文字幕 | 国产精品一二三区在线观看 | 国产黄色片免费 | 亚洲国产一区二区三区四区 | 九九九九色 | 中国av一级片 | 欧美黄色性生活 | 国产美女被草 | 20日本xxxxxxxxx46 欧美激情一级 | 又爽又黄又无遮挡 | 欧美性猛交一区二区三区精品 | 人人爱爱 | 欧美激情国产精品 | 亚洲网站免费 | 99久热在线精品996热是什么 | 精品动漫一区二区三区的观看方式 | 亚洲精品高潮久久久久久久 | 一区二区三区在线观看免费 | 夜夜艹| 久久人 | 看免费黄色片 | 欧美激情在线观看 | 四虎永久在线观看 | 免费毛片基地 | 日韩欧美在线一区二区三区 | 三年在线观看视频 | 成人欧美一区二区三区在线观看 | 久久久久久久久久久91 |