在CentOS 6下安装配置Squid缓存服务器

基于成本考虑,这次把博客折腾换到了东海岸。

东海岸的机房真不是一般的慢啊,已经快慢掉渣了。不争气的服务器和拉车的老牛一样慢,一个页面四五秒钟都加载不起来。

翻了一下现在市面上的CDN,都不满意,不是速度慢就是被墙了,想来想去,还是自己再弄个LA机房的服务器反代过去,充当一个“伪”CDN好了。

于是弄了个LA机房的VPS,还是自己习惯的CentOS6.2。不知道为何对CentOS比较有感情,虽然最近接触Debian觉得真是个好系统。说不定从哪天开始就移情别恋了=-=

好了说正事。在CentOS下装Squid并不难,如下:

yum install squid

好吧如果文章就到这里就没有了你们一定会喷我的。所以文章还没结束——还有最重要的,把Squid作为一个反向代理服务器来配置。

用yum装好之后,squid的主配置文件在/etc/squid/squid.conf,装好之后里面一堆东西,其实我们全部都可以不要。如下把它删掉:

mv /etc/squid/squid.conf /etc/squid/squid.conf.bak
vim /etc/squid/squid.conf

然后敲以下配置:

acl manager proto cache_object
http_access deny manager
http_access allow all
http_port 80  accel vhost vport #反向代理监听端口
cache_peer 192.168.1.1 parent 80 0 no-query originserver round-robin  name=web #源服务器端口和IP地址,以及名字
cache_peer_domain web !localhost #对应域名设定源服务器
forwarded_for truncate #截断X-Forwarded-For,防止IP地址欺骗;也可以不要这一行
cache_mem 32 MB #内存缓存大小
cache_dir ufs /var/spool/squid 100 16 256 #磁盘缓存设置
coredump_dir /var/spool/squid
refresh_pattern -i (/cgi-bin/|\?) 0    0%      0
refresh_pattern -i \.php 0    0%      0
refresh_pattern .              0       20%     4320

如果像我一样只有一台服务器,那就按上面的配置就好了,把192.168.1.1改成你源站的服务器,然后就算设置完成了。

如果你有很多不同的服务器,然后想对应不同的域名,就修改其中的cache_peer如下:

cache_peer 192.168.1.1 parent 80 0 no-query originserver round-robin  name=web1
cache_peer_domain web1 best33.com
cache_peer 192.168.1.2 parent 80 0 no-query originserver round-robin  name=web2
cache_peer 192.168.1.3 parent 80 0 no-query originserver round-robin  name=web3
cache_peer_domain web2 web3 oott123.com

最后重启squid,设置开机自启动

service squid restart
chkconfig squid on

这样就算配置完了。