squid3缓存服务器编译安装和高命中率配置示例

今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己改。

系统:centos 5.x
需要的软件:squid-3.0.STABLE25.tar.gz

1.下载squid

代码如下:

wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz
tar zxf squid-3.0.STABLE25.tar.gz && cd squid-3.0.STABLE25

2.编译squid

代码如下:

./configure --prefix=/usr/local/squid \
--enable-async-io=100 \
--with-pthreads \
--enable-storeio="aufs,diskd,ufs" \
--enable-removal-policies="heap,lru" \
--enable-icmp \
--enable-delay-pools \
--enable-useragent-log \
--enable-referer-log \
--enable-kill-parent-hack \
--enable-arp-acl \
--enable-default-err-language=Simplify_Chinese \
--enable-err-languages="Simplify_Chinese English" \
--disable-poll \
--disable-wccp \
--disable-wccpv2 \
--disable-ident-lookups \
--disable-internal-dns \
--enable-basic-auth-helpers="NCSA" \
--enable-stacktrace \
--with-large-files \
--disable-mempools \
--with-filedescriptors=65536 \
--enable-ssl \
--enable-x-accelerator-var

make
make install
make install-pinger

3.配置squid

代码如下:

cp /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.old
>/usr/local/squid/etc/squid.conf
ln -s /usr/local/squid/etc/squid.conf /etc/squid.conf

squid.conf里的内容:




代码如下:

#accel listen port
http_port 80 accel vhost vport
#accel domain
cache_peer xx.xx.xx.xx parent 80 0 no-query originserver no-digest name=a
cache_peer_domain a blog.slogra.com
 
#acl
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80       # http
acl Safe_ports port 8080
acl LanSrc src all
acl LanDst dst all
acl LanDstDM dstdomain blog.slogra.com
 
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow LanSrc
http_access allow LanDst
http_access allow LanDstDM
http_access deny   all
 
#base
visible_hostname blog.slogra.com
cache_mgr rocdk890@gmail.com
cache_effective_user squid
cache_effective_group squid
 
error_directory /usr/local/squid/share/errors/Simplify_Chinese
icon_directory /usr/local/squid/share/icons
mime_table /usr/local/squid/etc/mime.conf
 
cache_replacement_policy lru
#cache_dir
cache_dir aufs /var/cache1 32768 64 64
cache_dir aufs /var/cache2 32768 64 64
cache_mem 2048 MB
max_open_disk_fds 0
#maximum_object_size 512 KB
#maximum_object_size_in_memory 256 KB
maximum_object_size 20 MB
maximum_object_size_in_memory 8 MB
 
#keepalived
client_persistent_connections off
server_persistent_connections on
#persistent_request_timeout 60 seconds
 
#memory_pools on
#memory_pools_limit 64 MB
 
forwarded_for on
log_icp_queries off
 
via off
httpd_suppress_version_string off
 
ie_refresh off
tcp_recv_bufsize 32 KB
 
#acl webservices rep_header Server -i ^linuxtoneWS ^Apache ^nginx
#broken_vary_encoding allow webservices
 
#hidden the squid header
#reply_header_access Server deny all
#reply_header_access X-Cache deny all
#reply_header_access Warning deny all
#reply_header_access Expires deny all
#reply_header_access Cache-Control deny all
#reply_header_access age deny all
#reply_header_access All deny all
 
ipcache_size 1024
ipcache_low 90
ipcache_high 95
 
memory_replacement_policy lru
 
hosts_file /etc/hosts
request_header_max_size 128 KB
 
#deny cache
hierarchy_stoplist cgi-bin ? \.php
acl QUERY urlpath_regex cgi-bin\? \.php
cache deny QUERY
 
#request_body_max_size 0 KB
 
refresh_pattern ^ftp:           60      20%     10080
refresh_pattern ^gopher:        60      0%      1440
refresh_pattern .               0       20%     1440
refresh_pattern -i \.css$       360    50%     2880    reload-into-ims
refresh_pattern -i \.js$        1440    50%     2880    reload-into-ims
refresh_pattern -i \.html$        720   50%     1440    reload-into-ims
refresh_pattern -i \.jpg$       1440    90%     2880    ignore-reload
refresh_pattern -i \.gif$       1440    90%     2880    ignore-reload
refresh_pattern -i \.swf$       1440    90%     2880    ignore-reload
refresh_pattern -i \.jpg$       1440      50%     2880    ignore-reload
refresh_pattern -i \.png$       1440      50%     2880      ignore-reload
refresh_pattern -i \.bmp$       1440      50%     2880      ignore-reload
 
refresh_pattern -i \.doc$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.ppt$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.xls$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.pdf$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.rar$       1440    50%     2880      ignore-reload
refresh_pattern -i \.zip$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.txt$ 1440    50%     2880      ignore-reload
 
quick_abort_min 20 KB
quick_abort_max 20 KB
quick_abort_pct 95
 
connect_timeout 1 minute
negative_ttl 0 minutes
read_timeout 30 seconds
pconn_timeout 120 seconds
shutdown_lifetime 5 seconds
strip_query_terms off
 
#snmp
#snmp_port 3401
#acl snmppublic snmp_orgmunity snsimg
#snmp_access allow snmppublic localhost
#snmp_access deny all
 
icp_port 0
 
# logfile
emulate_httpd_log on
#logformat combined %{X-Forwarded-For}>h %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %<st “%{Referer}>h” “%{User-Agent}>h” %Ss:%Sh
#access_log none
#access_log /data/logs/access.log combined
logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /var/log/squid/access.log squid
#cache_store_log /var/log/squid/store.log
cache_store_log /dev/null
cache_log /var/log/squid/cache.log
logfile_rotate 12
 
# MISCELLANEOUS
store_objects_per_bucket 15
client_db off

4.创建目录

代码如下:

/usr/sbin/groupadd squid
/usr/sbin/useradd -g squid squid
mkdir -p /var/log/squid
chown -R squid:squid /var/log/squid
mkdir -p /var/{cache1,cache2}
chown -R squid:squid /var/{cache1,cache2}

初始化squid的cache目录

代码如下:

/usr/local/squid/sbin/squid -z

启动squid

代码如下:

/usr/local/squid/sbin/squid -D

如果大家不喜欢这样的启动方式,可以自己去找个squid的启动脚本,这里就不放出了.当squid运行起来了之后,大家可以使用下面这个命令来查看命中率:

代码如下:

/usr/local/squid/bin/squidclient -p 80 mgr:info

好了,具体其他squid的使用命令就只能你们自己去搜了,就到这里了.

(0)

相关推荐

  • squid3缓存服务器编译安装和高命中率配置示例

    今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己改. 系统:centos 5.x 需要的软件:squid-3.0.STABLE25.tar.gz 1.下载squid 复制代码 代码如下: wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.

  • CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)

    准备篇: CentOS 6.6系统安装配置图解教程 http://www.jb51.net/os/239738.html 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT

  • Linux系统下自行编译安装MySQL及基础配置全过程解析

    安装依赖: CentOS: # yum -y install wget gcc-c++ cmake make bison ncurses-devel perl unzip Ubuntu:(使用ubuntu下面有不少需要root权限,请注意) 复制代码 代码如下: # sudo apt-get install -y g++ gcc make libpcre3 zlib1g libbz2-dev automake cmake perl libncurses5-dev bison 添加MySQL系统用

  • Nginx服务器的安装与一些基本配置总结

    安装 ubuntu下 sudo apt-get install nginx 启动 sudo /etc/init.d/nginx start #通过init.d下的启动文件启动. sudo service nginx start#通过ubuntu的服务管理器启动 配置文件位置 /etc/nginx/nginx.conf 编译安装 1.先决条件 (1).gcc apt-get install gcc (2).pcre(Perl Compatible Regular Expression) apt-g

  • Apache服务器中.htaccess文件的实用配置示例集锦

    .htaccess 是什么? htaccess (hypertext access,超文本访问) 是为网站所有者提供用于控制服务器环境变量以及其它参数的选项,从而增强他们网站的功能的文件.这些文件可以在网站目录树的任何一个目录中,并向该目录以及目录中的文件和子目录提供功能. 这些功能是什么呢?其实这些是服务器的指令,例如命令服务器执行特定任务的行,这些命令只对该文件所在目录中的文件和子目录有效.这些文件默认是隐藏的,因为所有操作系统和网站服务器默认配置为忽略它们,但如果查看隐藏文件的话,你就可以

  • CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    前传: 1.CentOS 7.3.1611系统安装配置图解教程 http://www.osyunwei.com/archives/10003.html 2.CentOS服务器初始化设置 http://www.osyunwei.com/archives/9034.html 准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firew

  • CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    前传: 1.CentOS 7.3.1611系统安装配置图解教程 http://www.jb51.net/os/RedHat/597874.html 2.CentOS服务器初始化设置 http://www.jb51.net/article/133839.htm 准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall sy

  • 在lnmp环境中的nginx编译安装

    我用的linux系统是 centos7.1. 如果linux系统没有预先安装 gcc 等编译软件可以用yum源安装.安装nginx,首先需要安装依赖模块pcre.zlib.openssl. gzip 模块需要 zlib 库 rewrite 模块需要 pcre 库 ssl 功能需要 openssl库 1.安装pcre依赖 下载 pcre-8.38 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

  • CentOS7编译安装MySQL5.7.24的教程详解

    安装依赖 (1)cmake是新版MySQL的编译工具 sudo yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel sudo yum install zlib zlib-devel cmake ncurses ncurses-devel bison bison-devel 如下的几个依赖在CentOS7中需要安装,CentOS6不需要 sudo yum install perl perl-devel autoconf 安装b

  • 高命中率的varnish缓存配置分享

    给大家一个连我这么丑的blog,命中率都可以达到75%的varnish配置,大家拿去根据自己网站情况再优化下的话,说不定也可以达到90%,这也不是不可能的事. 系统:centos 5.x 软件:varnish-3.0.5 1.安装varnish 怎么安装我就不说了吧,自己搜去. 2.varnish配置 复制代码 代码如下: backend slogra {      .host = "172.0.0.1";      .port = "80";      .conn

随机推荐