精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

日志分析工具Awstats實戰之Nginx篇:分析結果動態化

運維 系統運維
繼上一篇文章“分析工具Awstats實戰之Nginx篇-分析結果靜態化”后,作者推出了這個系列的第二篇:日志分析工具Awstats實戰之Nginx篇:分析結果動態化,介紹了如何將awstats的日志分析信息用靜態頁面來進行顯示,不過顯示效果肯定沒有動態的好,本篇文章將帶大家一起來部署動態的分析結果查閱。

繼上一篇文章“分析工具Awstats實戰之Nginx篇-分析結果靜態化”后,作者推出了這個系列的第二篇:日志分析工具Awstats實戰之Nginx篇:分析結果動態化,介紹了如何將awstats的日志分析信息用靜態頁面來進行顯示,不過顯示效果肯定沒有動態的好,本篇文章將帶大家一起來部署動態的分析結果查閱。

環境:

  1. CentOS 6.4 
  2. ip:192.168.1.113 
  3. 域名:www.sunsky.com(server和client都通過hosts文件解析) 
  4. nginx-1.2.9 編譯安裝,路徑/usr/local/nginx,服務開啟狀態 
  5. 日志記錄格式為nginx默認的,切勿更改,否則會造成awstats無法分析日志。 
  6. log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
  7. '$status $body_bytes_sent "$http_referer" ' 
  8. '"$http_user_agent" "$http_x_forwarded_for"'; 
  9. awstats-7.2.tar.gz CPAN-2.00.tar.gz FCGI-0.74.tar.gz FCGI-ProcManager-0.24.tar.gz 
  10. 必須有perl-devel,不然無法編譯FCGI。 

一、日志自動切割

對于nginx的日志切割,由于沒有像apache一樣去用cronolog工具,這里我們就寫一個腳本,讓它可以在每天00:01自動執行,切割昨天的日志(交由awstats分析),壓縮前天的日志(壓縮日志可減小存儲空間,為防止awstats沒有分析完就被壓縮,所以只壓縮前天的日志)。

  1. vim /server/scripts/cut_nginx_log.sh 

輸入以下內容:

  1. #!/bin/sh 
  2. yesterday=`date -d "yesterday" +"%Y%m%d"` 
  3. before_yesterday=`date -d "-2 day" +"%Y%m%d"` 
  4. Nginx_Dir="/usr/local/nginx" 
  5. Nginx_logs="/app/logs" 
  6. Log_Name="www_access" 
  7. cd /tmp 
  8. [ -d $Nginx_Logs ] && cd $Nginx_logs || exit 1 
  9. [ -f $Log_Name.log ] && /bin/mv $Log_Name.log ${Log_Name}_${yesterday}.log || exit 1 
  10. if [ $? -eq 0 -a -f $Nginx_Dir/logs/nginx.pid ] 
  11. then 
  12. kill -USR1 `cat $Nginx_Dir/logs/nginx.pid` 
  13. fi 
  14. [ -f  ${Log_Name}_${before_yesterday}.log ] && /usr/bin/gzip ${Log_Name}_${before_yesterday}.log|| exit 1 

執行crontab -e將該腳本加入定時任務中

  1. 1 0 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1 

這樣每天凌晨00:01就能自動實現日志的切割,壓縮等功能了。

因為本次實驗下的nginx此時已經有日志了,另外為了后文awstats能對切割過的日志進行分析,所以這里我們要運行一下此腳本,來將現有日志進行切割生成昨天的日志方便后文操作。

  1. /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1 

#p#

二、配置FCGI

1、安裝CPAN

  1. wget http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-2.00.tar.gz 
  2. tar zxf CPAN-2.00.tar.gz 
  3. cd CPAN-2.00 
  4. perl Makefile.PL 
  5. make && make install 

2、安裝FCGI和FCGI::ProcManager

  1. wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.74.tar.gz 
  2. tar zxf FCGI-0.74.tar.gz 
  3. cd FCGI-0.74 
  4. 第一種安裝方法:perl -MCPAN -e 'install FCGI' 
  5. 第二種安裝方法:perl Makefile.PL 
  6.               make&&make install 
  7. wget http://search.cpan.org/CPAN/authors/id/B/BO/BOBTFISH/FCGI-ProcManager-0.24.tar.gz 
  8. tar zxf FCGI-ProcManager-0.24.tar.gz 
  9. cd FCGI-ProcManager-0.24 
  10. 第一種安裝方法:perl -MCPAN -e 'install FCGI::ProcManager' 
  11. 第二種安裝方法:perl Makefile.PL 
  12.               make&&make install 

在執行第一種安裝方法的時候,一定是全程自動滾動下來提示OK的。如果出現提示你輸入yes之類的,你需要按提示操作完之后,再運行第二次直到全程自動滾動下來提示OK才為完成安裝。或者你就用第二種方法來執行安裝。

3、創建FCGI啟動文件

  1. vi /usr/local/nginx/sbin/fcgi       #此處按個人習慣命名 
  2. #!/usr/bin/perl 
  3. use FCGI; 
  4. #perl -MCPAN -e 'install FCGI' 
  5. use Socket; 
  6. use POSIX qw(setsid); 
  7. #use Fcntl; 
  8. require 'syscall.ph'; 
  9. &daemonize; 
  10. #this keeps the program alive or something after exec'ing perl scripts 
  11. END() { } BEGIN() { } 
  12. *CORE::GLOBAL::exit = sub { die "fakeexit\nrc=".shift()."\n"; }; 
  13. eval q{exit}; 
  14. if ($@) { 
  15.         exit unless $@ =~ /^fakeexit/; 
  16. }; 
  17. &main; 
  18. sub daemonize() { 
  19.     chdir '/'                 or die "Can't chdir to /: $!"; 
  20.     defined(my $pid = fork)   or die "Can't fork: $!"; 
  21.     exit if $pid; 
  22.     setsid                    or die "Can't start a new session: $!"; 
  23.     umask 0; 
  24. sub main { 
  25. #$socket = FCGI::OpenSocket( "127.0.0.1:8999", 10 ); 
  26. $socket = FCGI::OpenSocket( "/usr/local/nginx/fastcgi_temp/perl_cgi-dispatch.sock", 10 ); 
  27. #use UNIX sockets - user running this script must have w access to the 'nginx' folder!! 
  28. $request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR, \%req_params, $socket ); 
  29. if ($request) { request_loop()}; 
  30. FCGI::CloseSocket( $socket ); 
  31. sub request_loop { 
  32. while( $request->Accept() >= 0 ) {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  33. #processing any STDIN input from WebServer (for CGI-POST actions) 
  34. $stdin_passthrough =''
  35. $req_len = 0 + $req_params{'CONTENT_LENGTH'}; 
  36. if (($req_params{'REQUEST_METHOD'} eq 'POST') && ($req_len != 0) ){ 
  37. my $bytes_read = 0
  38. while ($bytes_read < $req_len) { 
  39. my $data = ''
  40. my $bytes = read(STDIN, $data, ($req_len - $bytes_read)); 
  41. last if ($bytes == 0 || !defined($bytes)); 
  42. $stdin_passthrough .= $data; 
  43. $bytes_read += $bytes; 
  44.  } 
  45. #running the cgi app 
  46. if ( (-x $req_params{SCRIPT_FILENAME}) && #can I execute this? 
  47. (-s $req_params{SCRIPT_FILENAME}) && #Is this file empty? 
  48. (-r $req_params{SCRIPT_FILENAME})     #can I read this file? 
  49. ){ 
  50. pipe(CHILD_RD, PARENT_WR); 
  51. my $pid = open(KID_TO_READ, "-|"); 
  52. unless(defined($pid)) { 
  53. print("Content-type: text/plain\r\n\r\n"); 
  54. print "Error: CGI app returned no output - Executing $req_params 
  55. {SCRIPT_FILENAME} failed !\n"; 
  56. next; 
  57. if ($pid > 0) { 
  58. close(CHILD_RD); 
  59. print PARENT_WR $stdin_passthrough; 
  60. close(PARENT_WR); 
  61. while(my $s = <KID_TO_READ>) { print $s; } 
  62. close KID_TO_READ; 
  63. waitpid($pid, 0); 
  64. } else { 
  65. foreach $key ( keys %req_params){ 
  66. $ENV{$key} = $req_params{$key}; 
  67. # cd to the script's local directory 
  68. if ($req_params{SCRIPT_FILENAME} =~ /^(.*)\/[^\/]+$/) { 
  69. chdir $1; 
  70. close(PARENT_WR); 
  71. close(STDIN); 
  72. #fcntl(CHILD_RD, F_DUPFD, 0); 
  73. syscall(&SYS_dup2, fileno(CHILD_RD), 0); 
  74. #open(STDIN, "<&CHILD_RD"); 
  75. exec($req_params{SCRIPT_FILENAME}); 
  76. die("exec failed"); 
  77.           } 
  78.        } 
  79. else { 
  80. print("Content-type: text/plain\r\n\r\n"); 
  81. print "Error: No such CGI app - $req_params{SCRIPT_FILENAME} may not exist or is 
  82. not executable by this process.\n"; 
  83.        } 
  84.    } 

創建完成后,需要賦予fcgi執行權限:

  1. chmod 755 /usr/local/nginx/sbin/fcgi 

啟動FPM(FastCGI 進程管理器)

  1. perl /usr/local/nginx/sbin/fcgi >/dev/null 2>$1 

在這里,Nginx需要對fcgi生成的/usr/local/nginx/fastcgi_temp/perl_cgi-dispatch.sock有讀寫權限,否則會報502錯誤。

#p#

三、Awstats的安裝與配置

1、部署awstats

首先我們要下載awstats軟件包,并將其放在常規目錄(/usr/local)下:

  1. wget http://awstats.sourceforge.net/files/awstats-7.2.tar.gz 
  2. tar zxf awstats-7.2.tar.gz 
  3. mv awstats-7.2 /usr/local/awstats 

由于wget下載下來的包中權限是非root的,所以這里要修改權限,否則稍后*.pl將無法運行:

  1. chown -R root.root /usr/local/awstats 
  2. chmod +x /usr/local/awstats/tools/*.pl 
  3. chmod +x /usr/local/awstats/wwwroot/cgi-bin/*.pl 

接下來我們要執行awstats/tools下的awstats_configure.pl配置向導,用來生成awstats的配置文件,awstats配置文件的命名規則是awstats.website.conf

  1. cd /usr/local/awstats/tools/ 
  2. ./awstats_configure.pl 

此時會出現如下提示:

  1. ----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur ----- 
  2. This tool will help you to configure AWStats to analyze statistics for 
  3. one web server. You can try to use it to let it do all that is possible 
  4. in AWStats setup, however following the step by step manual setup 
  5. documentation (docs/index.html) is often a better idea. Above all if: 
  6. - You are not an administrator user, 
  7. - You want to analyze downloaded log files without web server, 
  8. - You want to analyze mail or ftp log files instead of web log files, 
  9. - You need to analyze load balanced servers log files, 
  10. - You want to 'understand' all possible ways to use AWStats... 
  11. Read the AWStats documentation (docs/index.html). 
  12. -----> Running OS detected: Linux, BSD or Unix 
  13. -----> Check for web server install 
  14. Enter full config file path of your Web server. 
  15. Example: /etc/httpd/httpd.conf 
  16. Example: /usr/local/apache2/conf/httpd.conf 
  17. Example: c:\Program files\apache group\apache\conf\httpd.conf 
  18. Config file path ('none' to skip web server setup): 
  19. > none      #這里讓填寫網頁服務器的配置文件路徑,因為我們用的不是apache,所以這里要填none 
  20. Your web server config file(s) could not be found. 
  21. You will need to setup your web server manually to declare AWStats 
  22. script as a CGI, if you want to build reports dynamically. 
  23. See AWStats setup documentation (file docs/index.html) 
  24. -----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf' 
  25.   File awstats.model.conf updated. 
  26. -----> Need to create a new config file ? 
  27. Do you want me to build a new AWStats config/profile 
  28. file (required if first install) [y/N] ? y         #詢問是否創建一個新的配置文件,這里填y 
  29. -----> Define config file name to create 
  30. What is the name of your web site or profile analysis ? 
  31. Example: www.mysite.com 
  32. Example: demo 
  33. Your web site, virtual server or profile name: 
  34. > www.sunsky.com      #這里讓填寫你的網站域名,虛擬主機名或者隨便一個配置名 
  35. -----> Define config file path 
  36. In which directory do you plan to store your config file(s) ? 
  37. Default: /etc/awstats 
  38. Directory path to store config file(s) (Enter for default): 
  39. >              #這里要填寫你配置文件存放路徑,我們使用它默認的路徑/etc/awstats,所以直接回車即可 
  40. -----> Create config file '/etc/awstats/awstats.www.sunsky.com.conf' 
  41.  Config file /etc/awstats/awstats.www.sunsky.com.conf created. 
  42. -----> Add update process inside a scheduler 
  43. Sorry, configure.pl does not support automatic add to cron yet. 
  44. You can do it manually by adding the following command to your cron: 
  45. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.sunsky.com 
  46. Or if you have several config files and prefer having only one command: 
  47. /usr/local/awstats/tools/awstats_updateall.pl now 
  48. Press ENTER to continue...   #提示不能自動加入crontab定時任務,需要稍后自己添加,我們按回車繼續即可 
  49. A SIMPLE config file has been created: /etc/awstats/awstats.www.sunsky.com.conf 
  50. You should have a look inside to check and change manually main parameters. 
  51. You can then manually update your statistics for 'www.sunsky.com' with command: 
  52. > perl awstats.pl -update -config=www.sunsky.com 
  53. You can also build static report pages for 'www.sunsky.com' with command: 
  54. > perl awstats.pl -output=pagetype -config=www.sunsky.com 
  55. Press ENTER to finish... #提示配置文件創建完成和如何更新配置及建立靜態報告頁,這里我們回車即可結束這個配置向導 

2、修改awstats配置文件

完成配置文件的創建之后,我們還需要對/etc/awstats/awstats.www.sunsky.com.conf里的一些參數進行修改。

  1. sed -i 's#LogFile="/var/log/httpd/mylog.log"#LogFile="/app/logs/www_access_%YYYY-24%MM-24%DD-24.log"#g' /etc/awstats/awstats.www.sunsky.com.conf 

這里更改的目的是指定awstats需要分析的nginx的日志文件路徑。這里的路徑大家要按自己的日志路徑來填。

  1. sed -i 's#DirData="/var/lib/awstats"#DirData="/usr/local/awstats/data"#g'/etc/awstats/awstats.www.sunsky.com.conf 

這里更改的目的是指定awstats的數據庫配置文件(即awstats的數據庫(純文本))。

由于,此處沒有/usr/local/awstats/data目錄,所以我們要創建出來:

  1. mkdir /usr/local/awstats/data 

以上的兩個替換操作進行完之后一定要用命令查看替換是否成功,以便及早發現紕漏。

  1. grep "LogFile=" /etc/awstats/awstats.www.sunsky.com.conf 
  2. grep "DirData=" /etc/awstats/awstats.www.sunsky.com.conf 

查詢替換結果正確之后,即可進行下面的步驟。

3、生成awstats統計信息數據庫

現在我們需要用awstats來生成對日志的統計分析信息出來了。由于我們用的是支持perl的FCGI動態化訪問頁面,所以此處我們只需要直接更新數據庫即可。FCGI程序會自動將數據庫以動態頁面的形式展現出來,無須再手動生成靜態頁面了。本處我們用腳本來完成。

  1. vim /server/scripts/awstats_up.sh 
  2. #!/bin/sh 
  3. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.sunsky.com >/dev/null 2>&1 

該腳本里面用下面的命令也是可以的。

  1. /usr/local/awstats/tools/awstats_updateall.pl now 

運行該腳本生成分析結果

  1. /bin/sh /server/scripts/awstats_up.sh 

#p#

四、配置日志分析頁面的來訪ip的地址位置顯示

這里我們用國內最準確的ip數據庫——QQ純真庫我在博客附件里面放了這個工具,大家下載之后通過CRT用lrzsz工具傳上去,具體步驟這里不寫了。

附件里面有三個文件qqhostinfo.pm,qqwry.pl和QQWry.Dat,我們將這三個文件統統都放到/usr/local/awstats/wwwroot/cgi-bin/plugins中。

接下來,我們修改qqwry.pl文件,將./QQWry.Dat修改為${DIR}/plugins/QQWry

  1. vim /usr/local/awstats/wwwroot/cgi-bin/plugins/qqwry.pl 
  2. #my $ipfile="./QQWry.Dat"

修改為:

  1. my $ipfile="${DIR}/plugins/QQWry.Dat "

然后編輯awstats的配置文件/etc/awstats/awstats.www.sunsky.com.conf(根據你前面配置的站點信息生成的文件),將LoadPlugin="hostinfo"替換為LoadPlugin="qqhostinfo"即可。

  1. sed -i 's#\#LoadPlugin="hostinfo"#LoadPlugin="qqhostinfo"#g'/etc/awstats/awstats.www.sunsky.com.conf 

切記,在這些替換完之后一定要查看替換是否成功,以便及早發生紕漏。

  1. grep "LoadPlugin=\"qqhostinfo\"" /etc/awstats/awstats.www.sunsky.com.conf 

如果檢查無誤,那么我們的ip地址位置顯示就配置好了,在后面的日志分析中,我們就可以清楚的看到來訪ip的地理位置信息了。

五、配置nginx

接下來我們要配置nginx使其能安全的訪問到分析的數據

  1. vim /usr/local/nginx/conf/nginx.conf 

在server{}內添加如下內容:

  1. server { 
  2.            listen 80; 
  3.            server_name www.sunsky.com; 
  4.             location / { 
  5.             root   /www/sunsky; 
  6.             index  index.html index.htm; 
  7.             access_log  /app/logs/www_access.log  main; 
  8.     } 
  9.             location ~* ^/cgi-bin/.*\.pl$ { 
  10.             root /usr/local/awstats/wwwroot; 
  11.                fastcgi_pass unix:/usr/local/nginx/fastcgi_temp/perl_cgi-dispatch.sock; 
  12.                fastcgi_index index.pl; 
  13.                include  fastcgi_params; 
  14.                charset gb2312; 
  15.                auth_basic "Restricted";       #有些網站不愿意公開網站流量信息,所以加個認證 
  16.                auth_basic_user_file /usr/local/nginx/htpasswd.pass;  #該文件由apache的加密認證工具htpasswd創建 
  17.            } 
  18.       location ~ ^/icon/ { 
  19.          root   /usr/local/awstats/wwwroot/; 
  20.          index index.html; 
  21.          access_log off; 
  22.          error_log off; 
  23.          charset gb2312; 
  24.       } 

為了保持nginx.conf主配置文件更加整潔干凈,所以我們將fastcgi_param的一系列參數添加到/usr/local/nginx/conf/fastcgi_params文件的最頂部,然后在nginx.conf里面調用這個文件即可。

  1. vi /usr/local/nginx/conf/fastcgi_params 
  2. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  3. fastcgi_param QUERY_STRING     $query_string; 
  4. fastcgi_param REQUEST_METHOD   $request_method; 
  5. fastcgi_param CONTENT_TYPE     $content_type; 
  6. fastcgi_param CONTENT_LENGTH   $content_length; 
  7. fastcgi_param GATEWAY_INTERFACE CGI/1.1; 
  8. fastcgi_param SERVER_SOFTWARE    nginx; 
  9. fastcgi_param SCRIPT_NAME        $fastcgi_script_name; 
  10. fastcgi_param REQUEST_URI        $request_uri; 
  11. fastcgi_param DOCUMENT_URI       $document_uri; 
  12. fastcgi_param DOCUMENT_ROOT      $document_root; 
  13. fastcgi_param SERVER_PROTOCOL    $server_protocol; 
  14. fastcgi_param REMOTE_ADDR        $remote_addr; 
  15. fastcgi_param REMOTE_PORT        $remote_port; 
  16. fastcgi_param SERVER_ADDR        $server_addr; 
  17. fastcgi_param SERVER_PORT        $server_port; 
  18. fastcgi_param SERVER_NAME        $server_name; 
  19. fastcgi_read_timeout 60; 

針對上面的加密,由于nginx沒有好的加密認證工具,需要借助apache的htpasswd來實現加密認證功能:

  1. htpasswd -c -m /usr/local/nginx/htpasswd.pass sunskyadmin      #用戶名為sunskyadmin 

配置完畢之后,檢查nginx語法,然后優雅重啟之后,用游覽器訪問http://www.sunsky.com/cgi-bin/awstats.pl?config=www.sunsky.com,輸入賬號密碼之后即可查看統計信息了。

至此,awstats已經可以實現對Nginx的日志統計,動態化安全訪問及來訪ip的地址位置顯示等功能了。

五、配置awstats自動運行

為了讓整個日志的統計過程可以實現自動化,將awstats.sh腳本加入crontab定時任務中去,此時結合上面的定時切割任務,我們的crontab里面會有多出來兩條定時任務。

  1. 1 0 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1 
  2. 0 1 * * * /bin/sh /server/scripts/awstats_up.sh >/dev/null 2>&1 

到此,我們整個日志訪問工具awstats在nginx上對日志分析之后的靜態化和動態化訪問都已經實現了。后面的話,我會再寫一篇awstats對apache服務器的日志分析部署文檔。大家如果有什么問題的話,可以聯系我進行交流探討,咱們共同學習,共同進步!

本文作者:sunsky,博客地址:http://sunsky.blog.51cto.com/

責任編輯:黃丹 來源: 博客
相關推薦

2013-10-31 11:08:15

2013-11-01 10:43:35

日志分析Awstats實戰Apache

2015-07-31 10:57:01

安全日志windows安全日志安全日志分析

2017-09-14 10:45:47

PostgreSQL日志分析pgBadger

2023-10-24 07:22:22

Nginx運維管理

2012-09-20 10:07:29

Nginx源碼分析Web服務器

2019-03-20 13:44:30

Web 開發代碼

2014-02-12 10:28:50

Hadoop

2009-06-10 18:12:38

Equinox動態化OSGi動態化

2021-04-27 08:57:58

開發技能代碼

2024-08-06 09:40:21

2023-10-30 09:01:08

Nginx日志分析

2024-03-19 08:02:28

集群GaussDB指標

2022-03-25 00:00:00

Splunk搜索SPL

2022-03-21 15:02:05

Harmonyhiperf鴻蒙

2022-06-29 09:19:09

靜態代碼C語言c代碼

2023-07-07 06:53:56

遠程軟件日志向日葵

2018-01-16 10:11:11

Nginx訪問日志

2021-01-25 20:20:35

數據分析SparkHadoop

2013-09-11 09:36:02

VMwareLog Insight
點贊
收藏

51CTO技術棧公眾號

亚洲大尺度视频| 91免费在线看片| 午夜激情电影在线播放| 久久男人中文字幕资源站| 国产精品xxx视频| 精品亚洲乱码一区二区| 国产精品一区二区中文字幕| 一本到一区二区三区| 一本一本久久a久久精品综合妖精| 国产三级漂亮女教师| 一区二区福利| 日韩亚洲欧美成人| 亚洲精品乱码久久久久久不卡| 二区三区不卡| 亚洲综合激情另类小说区| 欧美极品色图| 国产视频在线观看免费| 国产专区一区| 日韩中文字幕久久| 魔女鞋交玉足榨精调教| 高清一区二区三区av| 色视频成人在线观看免| 日韩黄色片在线| 成人精品一区二区三区免费| 国产99精品在线观看| 国产日韩av在线| 黄瓜视频在线免费观看| 在线观看日韩av电影| www.日韩av.com| 亚洲精品乱码久久久久久久久久久久| 亚洲天堂中文字幕在线观看| 欧美色国产精品| 日本精品免费在线观看| 怡红院在线观看| 国产精品乱码人人做人人爱| 日韩在线免费高清视频| 97免费视频在线| 中文字幕第69页| 亚洲精华一区二区三区| 欧美大片在线观看一区| 中日韩av在线播放| 在线成人视屏| 在线观看视频一区| 无码aⅴ精品一区二区三区浪潮| 天天色天天射天天综合网| 国产精品理论在线观看| 亚洲成人自拍视频| 国产精品毛片一区二区三区四区| 91视频一区二区| 国外成人在线视频网站| 亚洲精品国产suv一区| 国产精品一二三四| 91在线播放国产| 国产剧情精品在线| 国产美女精品人人做人人爽 | 免费大片黄在线| 国产精品伦理在线| 亚洲福利av| 成全电影播放在线观看国语| 久久精品日韩一区二区三区| 日本一区二区三区www| 撸视在线观看免费视频| 国产亚洲欧美激情| 日韩三级电影| 91网页在线观看| 国产精品理论在线观看| 亚洲综合激情五月| jizz性欧美| 亚洲图片欧美视频| 久草热视频在线观看| 神马久久午夜| 日本国产一区二区| 国产精品久久久毛片| 欧美一级做一级爱a做片性| 欧美挠脚心视频网站| 杨幂一区二区国产精品| 国产精品久久久网站| 精品亚洲国产视频| 国产亚洲精品精品精品| 亚洲精品二区三区| 午夜精品三级视频福利| 国产精品久久久久久99| 奇米777欧美一区二区| 91久久久久久国产精品| 蜜臀久久99精品久久久| 国产亚洲福利社区一区| 亚洲精品偷拍视频| av手机免费在线观看| 日韩欧美国产高清91| 色播五月综合网| 91久久偷偷做嫩草影院电| 日韩毛片中文字幕| 乱老熟女一区二区三区| 国产精品videossex久久发布| 91国产美女视频| 中文字幕人成人乱码亚洲电影| 国产精品888| 欧美大香线蕉线伊人久久国产精品| a天堂在线资源| 亚洲一区二区三区国产| 日韩在线第三页| 一区二区三区日本视频| 欧美精品一区二区蜜臀亚洲| 在线观看亚洲大片短视频| 欧美精品日本| 国产精品免费电影| 少妇荡乳情欲办公室456视频| 中文字幕二三区不卡| 日韩中文字幕在线免费| 色成人综合网| 亚洲区中文字幕| 国产在线视频二区| 六月丁香婷婷色狠狠久久| 久久久人人爽| 羞羞的网站在线观看| 欧美自拍偷拍一区| 内射中出日韩无国产剧情| 国产精品久久久久久久| 日本国产欧美一区二区三区| va婷婷在线免费观看| 日本一区二区免费在线观看视频| 精品视频在线观看一区| 成人污版视频| 中文字幕日韩欧美在线| 国产精品久久久免费视频| 国产精品一卡二卡| 正在播放国产精品| 777午夜精品电影免费看| 亚洲精品美女视频| 国产亚洲精品久久777777| 国产在线精品不卡| 天堂精品视频| 最新日韩一区| 亚洲香蕉成视频在线观看 | 色综合一个色综合| 性囗交免费视频观看| 欧美日韩国产免费观看 | 人妖一区二区三区| 欧美激情女人20p| www.久久久久久| 亚洲欧美另类在线| 五月天开心婷婷| 日韩成人精品一区| 国产精品久久97| 高h视频在线| 日本韩国精品在线| 手机看片日韩av| 日韩福利视频网| 日韩中文一区二区三区| 经典三级一区二区| 一区二区三区动漫| 亚洲天堂网视频| 中文字幕一区视频| 亚洲精品乱码久久久久久动漫| 久久国产影院| 亚洲精品免费一区二区三区| caoporn免费在线| 日韩视频一区二区在线观看| 加勒比av在线播放| 国产suv精品一区二区883| 精品人妻人人做人人爽| 超碰成人福利| 高清视频欧美一级| 亚洲精品久久久狠狠狠爱| 亚洲综合一区二区三区| 久久无码人妻精品一区二区三区| 亚洲少妇在线| 日本视频一区在线观看| 成人黄色在线| 色在人av网站天堂精品| 日韩一级片免费在线观看| 欧美视频一二三| 日本高清黄色片| 国产一区二区精品久久99| 妺妺窝人体色www看人体| 狼人天天伊人久久| 国产精品扒开腿做| 成a人片在线观看| 亚洲成人久久网| 精品乱码一区内射人妻无码 | 亚洲国产精品综合| 欧美电影院免费观看| 国内精久久久久久久久久人| 伦理片一区二区三区| 91麻豆精品久久久久蜜臀| 国产精品第九页| 国产欧美一区二区在线| www.偷拍.com| 美日韩精品视频| 麻豆一区二区三区在线观看| 偷拍自拍一区| 91视频国产精品| 波多野结衣亚洲| 精品中文字幕在线观看| 精品影院一区| 日韩视频免费观看高清完整版在线观看| 日韩久久久久久久久| 国产精品国产精品国产专区不蜜| 在线播放av网址| 美国av一区二区| 每日在线更新av| 欧美一区二区三区免费看| 免费国产在线精品一区二区三区| 亚洲精品三区| 国产成人精品综合久久久| 最爽无遮挡行房视频在线| 国产亚洲精品久久久优势| 亚洲精品久久久久久久久久| 欧美日韩你懂得| 国产高潮久久久| 一个色综合av| 蜜桃av.com| 国产女同互慰高潮91漫画| 日韩无码精品一区二区| 国产综合色视频| 亚洲xxxx2d动漫1| 国产精品免费看| 人妻av无码专区| 国产精品黑丝在线播放| 日本欧美色综合网站免费| 日韩av三区| 俄罗斯精品一区二区三区| 婷婷久久免费视频| 国产精品色视频| 亚洲承认视频| 88xx成人精品| av中文字幕电影在线看| 久久99久久亚洲国产| 午夜激情视频在线观看| 国产亚洲精品久久久久久| 三级在线观看| 日韩电视剧免费观看网站| 亚洲精品国产精| 欧美变态tickling挠脚心| 一本久道久久综合无码中文| 精品1区2区3区| 一级久久久久久| 91福利社在线观看| 亚洲中文一区二区| 日本韩国一区二区三区视频| 51国产偷自视频区视频| 天天亚洲美女在线视频| 精品在线视频免费| 五月综合激情网| 九一国产在线观看| 一本久道久久综合中文字幕| www毛片com| 在线免费不卡电影| 国模私拍一区二区| 欧美日韩三级一区| 99在线小视频| 日韩精品一区二| 欧美自拍偷拍第一页| 亚洲福利小视频| 亚洲 欧美 精品| 亚洲人成电影网站色| 国产一区二区影视| 中文字幕亚洲无线码在线一区| 亚洲搞黄视频| 久久99精品视频一区97| 久草免费在线色站| 午夜精品一区二区三区在线视频| 国产亚洲成av人片在线观看| 91国内在线视频| 成人免费网站www网站高清| 国产精品欧美风情| 欧美成人免费全部网站| 1卡2卡3卡精品视频| 国产精品17p| 欧美国产一区二区在线| 9999国产精品| 99热这里只有精品免费| 国产精品一国产精品k频道56| 日韩欧美xxxx| 蓝色福利精品导航| jjzz黄色片| 国产三级精品三级| 外国一级黄色片| 欧美视频不卡中文| 91久久国语露脸精品国产高跟| 日韩欧美黄色影院| 日韩a在线观看| 精品激情国产视频| а√天堂中文在线资源8| 国产精品视频99| 99ri日韩精品视频| 日韩不卡av| 国产一区二区三区四区三区四| 日韩精品一区二区三区不卡 | 国产在线视频91| 国产伦精品一区二区三区在线播放| 欧美极品一区| 欧美日韩国产一区精品一区| 无码人妻丰满熟妇区毛片| 精品一区二区av| 3d动漫精品啪啪一区二区下载| 综合激情成人伊人| 青青青国产在线| 日韩欧美高清一区| 97在线观看免费观看高清| 久久免费高清视频| 永久免费观看精品视频| 久久久久久国产精品一区| 99精品视频在线观看播放| 男女激情无遮挡| 国产麻豆91精品| 91视频免费在观看| 疯狂欧美牲乱大交777| 国产999久久久| 中文字幕欧美专区| 性欧美又大又长又硬| 97超级在线观看免费高清完整版电视剧| 九九久久成人| 欧美成人高潮一二区在线看| 国产一区999| 97精品在线播放| 91福利在线播放| 欧洲一区av| 66m—66摸成人免费视频| 精品99re| 中文字幕乱码一区二区三区| 久久国产福利| 亚洲の无码国产の无码步美| 亚洲猫色日本管| 一本色道久久综合亚洲| 亚洲视屏在线播放| 亚洲最新无码中文字幕久久| 成人av影视在线| 伊人久久大香线蕉精品组织观看| 网站一区二区三区| 久久精品日韩一区二区三区| 日本三级理论片| 日韩欧美一二三区| 在线午夜影院| 5566av亚洲| 欧美一区二区三区久久精品茉莉花| 天天摸天天舔天天操| 国产精品久久久久久久久免费樱桃| 精品国产午夜福利| 亚洲免费一在线| 国产精品迅雷| 欧美日韩亚洲综合一区二区三区激情在线| 在线欧美亚洲| 国产麻豆剧传媒精品国产av| 亚洲成av人片一区二区三区 | 亚洲系列中文字幕| 婷婷激情一区| 日韩高清三级| 麻豆精品一二三| 在线观看亚洲网站| 91精品国产aⅴ一区二区| 成人免费看片| 99久久99久久精品国产片| 欧美精品麻豆| 熟女人妻在线视频| 欧美视频在线免费看| 国产高清一区在线观看| 国产精品久久国产精品99gif| 成人精品影院| 99视频在线观看视频| 亚洲精品视频免费看| 亚洲精品免费在线观看视频| 国外成人在线直播| 蜜桃一区二区| 欧美成人福利在线观看| 亚洲欧美一区二区三区极速播放 | 亚洲欧美综合自拍| 亚洲视频在线看| 不卡的国产精品| 久久久亚洲国产精品| 26uuu成人网一区二区三区| 免费看污视频的网站| www亚洲精品| 嫩草国产精品入口| 99视频免费播放| 亚洲精品视频观看| 深夜福利免费在线观看| 国产精品电影观看| 午夜国产欧美理论在线播放 | 日韩伦理一区二区三区| 亚洲欧美另类动漫| 一区二区三区中文字幕| 日本成人一区| 成人亚洲激情网| 亚洲综合精品| 久久99久久99精品免费看小说| 亚洲高清在线观看| 久久不卡日韩美女| 欧美人成在线观看| 国产精品女人毛片| 日韩一级在线播放| 91在线观看免费观看| 亚洲免费影院| 99精品久久久久| 国产亚洲欧洲黄色| 6080亚洲理论片在线观看| av免费网站观看| 亚洲一区在线播放| 午夜免费视频在线国产| 国产精品视频福利|