LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配(5)

*取得squid运行状态信息: squidclient -p 80 mgr:info

*取得squid内存使用情况: squidclient -p 80 mgr:mem

*取得squid已经缓存的列表: squidclient -p 80 mgr:objects. use it carefully,it may crash

*取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd

缓存的清理脚本

格式:

qingli.sh     

qingli.sh      jpg

qingli.sh       linuxidc.com 123  bbb  jpg

#!/bin/sh squidcache_path="/squidcache" squidclient_path="/home/local/squid/bin/squidclient" #grep -a -r $1 $squidcache_path/* | grep "http:" | awk -F 'http:' '{print "http:"$2;}' | awk -F\' '{print $1}' > cache.txt if [[ "$1" == "swf" || "$1" == "png" || "$1" == "jpg" || "$1" == "ico" || "$1" == "gif" || "$1" == "css" || "$1" == "js" || "$1" == "html" || "$1" == "shtml" || "$1" == "htm"   ]]; then grep -a -r .$1 $squidcache_path/* | strings | grep "http:" | awk -F 'http:' '{print "http:"$2;}' | awk -F\' '{print $1}' | grep "$1$" | uniq > cache.txt else grep -a -r $1 $squidcache_path/* | strings | grep "http:" |grep $2$ |grep $3$|grep $4$|grep $5$ |grep $6$| awk -F 'http:' '{print "http:"$2;}' | awk -F\' '{print $1}' | uniq > cache.txt fi sed -i "s/\";$//g" cache.txt cat cache.txt | while read LINE do $squidclient_path -p 80 -m PURGE $LINE done 

下面是3.1的安装,针对需要3.1部分模块的朋友,但是不推荐用3.1 

tar -zxvf squid-3.1.20-20120610-r10455.tar.gz cd squid-3.1.20-20120610-r10455 ./configure --prefix=/usr/local/squid --enable-async-io=100 --disable-delay-pools --disable-mem-gen-trace --disable-useragent-log --enable-kill-parent-hack --disable-arp-acl --enable-epoll --disable-ident-lookups --enable-snmp --enable-large-cache-files --with-large-files make && make install groupadd squid   #创建squid用户组 useradd -g squid -s /sbin/nologin squid   #创建squid用户,并加入到squid组里,不允许登录系统  chown -R squid /usr/local/squid/   #修改squid的安装目录所属用户为squid用户 mkdir -p /var/cache     #创建squid的第一个缓存目录 mkdir -p /var/squid    #创建squid的第二个缓存目录 chown squid.squid -R /var/cache /var/squid  #设置目录所有者 chmod -R 777 /var/cache /var/squid    #设置目录权限 mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.bak  vi  /usr/local/squid/etc/squid.conf cache_effective_user squid    #运行squid的用户  cache_effective_group squid   #运行squid的用户所在的组  visible_hostname squid1.cache.cn   #设定squid的主机名,如无此项squid将无法启动  http_port 80 accel vhost vport   #代理端口  icp_port 3130   #icp端口  # 配置其他缓存服务器,当squid1在其缓存中没有找到请求的资源时,通过ICP查询去其邻居中取得缓存  cache_peer 10.10.10.21 sibling 80 3130  cache_peer 10.10.10.22 sibling 80 3130 cache_peer 10.10.10.23 sibling 80 3130 # 后端web服务器配置,round-robin表示通过轮询方式将请求分发到其中一台web节点  cache_peer 10.10.10.56 parent 80 0 no-query originserver round-robin  name=webServer1  cache_peer 10.10.10.57 parent 80 0 no-query originserver round-robin  name=webServer2  cache_peer_domain webServer1 webServer2  .123.com  #根据通配域名xuad.com来进行转发  # 下面三行是配置访问控制的   http_access allow all   #允许以上所有规则通过  # URL中包含cgi-bin和以https:\\开头的都不缓存,asp、cgi、php、jsp等动态页面也不缓存  hierarchy_stoplist cgi-bin ?  hierarchy_stoplist -i ^https:\\ ?  acl QueryString urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi  acl denyssl urlpath_regex -i ^https:\\  no_cache deny QueryString  no_cache deny denyssl  # 日志和缓存目录的设置  cache_log /usr/local/squid/var/logs/cache.log   #cache.log日志文件存放目录  access_log /usr/local/squid/var/logs/access.log squid   #access.log日志文件存放目录  cache_dir aufs /var/cache 1024 16 256   #设定缓存目录cache,目录容量最大1024M,16*256级子目录  cache_dir aufs /var/squid 3072 16 256   #设定缓存目录squid,目录容量最大3072M,16*256级子目录  cache_mem 128 MB    #squid用于缓存的内存容量  # 当缓存目录空间使用达到95%以上时,新的内容将取代旧的内容,直到空间又下降到90%才停止这一活动  cache_swap_low 90  cache_swap_high 95  # 设置存储策略  maximum_object_size 4096 KB    #能缓存的最大对象为4M  maximum_object_size_in_memory 80 KB   #内存中缓存的最大对象80K  ipcache_size 1024   #缓存DNS解析得到的IP,最大单个对象为1024K  ipcache_low 90  ipcache_high 95  cache_replacement_policy lru   #缓存替换策略  memory_replacement_policy lru   #内存替换策略  memory_pools on   #开启内存池  memory_pools_limit 32 MB   #限制内存池大小为32MB    forwarded_for on   #开启转发  log_icp_queries off   #关闭icp查询日志    forward_timeout 20 seconds   #允许转发超时20秒  connect_timeout 30 seconds   #连接到其他机器的最大尝试时间  read_timeout 3 minutes   #允许读取超时3分钟  request_timeout 1 minutes    #允许返回超时1分钟  persistent_request_timeout 30 seconds   #允许持续连接超时30秒  client_lifetime 15 minutes   #客户端会话保持  shutdown_lifetime 5 seconds  negative_ttl 30 seconds   #设置错误信息的生存时间  # 允许一个IP最大并发数为50  acl OverConnLimit maxconn 50  http_access deny OverConnLimit    client_persistent_connections off   #对客户端长连接KeepAlive这个参数的支持  server_persistent_connections on  # 开启服务端的KeepAlive,web端要开启KeepAlive,不然这里打开是没用的  tcp_recv_bufsize 65535 bytes   #TCP套接字接收缓冲区大小  half_closed_clients off  #当客户与squid的连接处于半关闭状态时,允许squid立即关闭连接    via on   #开启转发循环的检测  request_header_access via deny all   #避免由于两台squid的主机名一样而返回403错误  httpd_suppress_version_string off   #错误页面不显示squid的版本信息  ie_refresh off   #是否允许对旧版本的IE浏览器强制刷新页面 

/usr/local/squid/sbin/squid -N –z

/usr/local/squid/sbin/squid

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a49f1089233e2646078b2b6165096342.html