你的位置: Kiyo'Space首页 服务器 阅读文章 欢迎留下您的足迹

Squid 3的配置

[ 服务器 ] 分享

首先不用我说了 肯定是要在服务器安装Linux操作系统了,这里推荐使用CentOS。

安装好CentOS后,我们利用SSH登陆进超级终端做一下必要的更新。

#yum install -y make gcc gcc-c++ libtool autoconf sudo wget libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel patch libmcrypt-devel libmhash-devel ncurses-devel

更新完后我们开始安装

到http://www.squid-cache.org上下载最新的Squid3x稳定版本装Squid.

#groupadd squid
#useradd -s /sbin/nologin -d /dev/null -g squid squid

#wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE15.tar.gz

用tar命令把文件解压出来 进入squid目录进行编译安装
#./configure –prefix=/usr/local/squid –enable-follow-x-forwarded-for –enable-storeio=aufs,ufs –with-maxfd=65536 –with-pthreads –enable-dlmalloc –enable-poll –enable-stacktraces –enable-removal-policies=heap,lru –enable-delay-pools

#make(这里可能会编译很久 请耐心等待)
#make install(安装也是一样)

这里可能会遇到点小问题
[ 554s] In file included from LoadableModule.cc:10:
[ 554s] ../libltdl/ltdl.h:106: error: ‘LT_DLSYM_CONST’ does not name a type
[ 554s] LoadableModule.cc: In constructor
‘LoadableModule::LoadableModule(const String&)’:
[ 554s] LoadableModule.cc:25: error:
‘lt__PROGRAM__LTX_preloaded_symbols’ was not declared in this scope
[ 554s] make[3]: *** [LoadableModule.o] Error 1

这是需要 libtool 2.4+的版本,或者编译加 –with-included-ltdl 参数

You probably need to install libtool later than 2.4, or use the –with-included-ltdl configure option.

安装完成后,我们进入/usr/local/squid/etc目录编写squid.conf文件。可以把自带的删除 然后自己用vi命令重新写一份,这样比较快。
配置文件如下
# squid conf etc/squid.conf
# Last Updated 2016-1-1
###
cache_effective_user squid
cache_effective_group squid
tcp_recv_bufsize 65535 bytes
icp_port 0
visible_hostname cdncache #(为squid缓存服务器名称,每台服务器建议取不同的名字,便于区别)
http_port 80 vhost vport
#domains(以下为加速的站点)
cache_peer www.a.com parent 80 0 no-query originserver name=site1
cache_peer www.b.net parent 80 0 no-query originserver name=site2
#peer_domain
cache_peer_domain site1 www.a.com
cache_peer_domain site2 www.b.net
#acl
acl local src 127.0.0.1
acl Manager proto cache_object
acl purge method PURGE
http_access allow Manager local purge
http_access deny Manager purge
acl alls src all
http_access allow alls
###cache,dir
cache_log /usr/local/squid/var/logs/cache.log
access_log /usr/local/squid/var/logs/access.log squid
cache_dir ufs /usr/local/squid/var/cache/ 10000 16 256
maximum_object_size 1024 KB
maximum_object_size_in_memory 1024 KB
cache_mem 512 MB
cache_swap_low 80
cache_swap_high 90
ipcache_size 512
ipcache_low 90
ipcache_high 95
fqdncache_size 512
### timeout
connect_timeout 1 minute
peer_connect_timeout 30 seconds
request_timeout 2 minutes
persistent_request_timeout 30 seconds
dns_children 3
hierarchy_stoplist cgi-bin ?
#refresh_pattern
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern -i \.jpg$ 43200 50% 86400
refresh_pattern -i \.png$ 43200 50% 86400
refresh_pattern -i \.css$ 43200 50% 86400
refresh_pattern -i \.js$ 43200 50% 86400
refresh_pattern -i \.xml$ 43200 50% 86400
refresh_pattern -i \.htm$ 43200 50% 86400
refresh_pattern -i \.html$ 43200 50% 86400
refresh_pattern . 0 20% 4320
#header off
via off
reply_header_access Via deny all
reply_header_access Server deny all

编辑好后保存退出。这里我们可以把Squid写成服务让他开机自动启动,具体设置方法可以见上遍文章。
最后一步,加速站点配置好后,还需要关键的一步,就是修改linux服务器本地host让他解析加速域名到需要加速的服务器上面。
linux下面的hosts表位于/etc/hosts,格式跟Windows大致相同,打开后我们把下面一行加到末尾
1.2.3.4 a.com www.b.com
然后保存退出。 重启下服务器 试试效果吧。

没有评论

  • (Required)
  • (Required, will not be published)