Squid是一种在Linux系统下使用的优秀的代理服务器软件,可以作为缓存加速服务和CDN服务使用。
squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。
首先不用我说了 肯定是要在服务器安装Linux操作系统了,我们这里推荐使用CentOS.个人比较喜欢这个。
安装好CentOS后,我们利用SSH登陆进超级终端做一下必要的更新。
#yum install -y make gcc-gcc+ 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 更新完后我们开始安
#groupadd squid
#useradd -s /sbin/nologin -d /dev/null -g squid squid
用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(安装也是一样)
安装完成后,我们进入/usr/local/squid/etc目录编写squid.conf文件。可以把自带的删除 然后自己用vi命令重新写一份,这样比较快。
配置文件如下
# squid conf etc/squid.conf
# Last Updated 2010.11.20
###
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 parent 80 0 no-query originserver name=site1
cache_peer parent 80 0 no-query originserver name=site2
#peer_domain
cache_peer_domain site1
cache_peer_domain site2
#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
linux下面的hosts表位于/etc/hosts,格式跟Windows大致相同,打开后我们把下面一行加到末尾
1.1.1.1 linuxidc.com
然后保存退出。 重启下服务器 试试效果吧。