首 页 » 网络杂谈 » CentOS 安装配置Squid反向代理服务器详细教程

CentOS 安装配置Squid反向代理服务器详细教程

2013-05-26 | 浏览人数: 20,493次 | 分类: 网络杂谈 | 2条评论 | 查看评论 发表评论

squid是一个缓存服务,它还是一个反向代理服务,还能用于负载均衡与前端处理。squid的配置文件灵活,功能强大。它的原理是接受用户的http请求,然后根据配置文件,从源服务器得到这个请求的文件,然后返回给用户,与此同时,它将根据情况保留(缓存)一份这个文件,下次再有用户需要请求这个文件,将可以直接快速的返回给用户。

squid并没有复杂的安装配置过程,在了解原理之后其实非常简单。这里给出一个简单的squid安装与配置例子。

安装squid

对于CentOS系统,安装squid采用如下命令:

yum install squid

配置Apache

首先确保Apache正常安装,默认情况下Apache的监听端口是80端口,现在将其修改为81端口:

[root@www ~]# vi /etc/httpd/conf/httpd.conf

找到Listen 80,将其修改为

Listen 81

配置squid

squid的配置文件位于: /etc/squid/squid.conf
/etc/squid/目录下还有一个名为squid.conf.default的文件,是默认的配置。仅在squid.conf修改乱了之后用于还原配置。squid的配置文件还是比较松散的,顺序基本上没什么要求,也没有太多的层次。每行语句都比较独立。

原配置文件有几千行,绝大多数是注释,干脆手动将其删除,然后重新输入。

[root@www ~]# rm /etc/squid/squid.conf -f && vi /etc/squid/squid.conf

visible_hostname www.abc.com
http_port 80 vhost
cache_mem 256 MB
maximum_object_size_in_memory 2048 KB
cache_dir ufs /tmp 512 16 256
minimum_object_size 0 KB
maximum_object_size 32768 KB
acl all src 0.0.0.0/0.0.0.0
http_access allow all
cache_peer www.abc.com parent 81 0 no-query originserver weight=1 name=www
cache_peer_domain www www.abc.com

上面的www.abc.com只是举例子,需根据情况进行修改。上述例子是squid与Apache在同一台服务器的情况。

测试squid性能

如下命令用于显示squid使用情况:

[root@www ~]# squidclient -p 80 -h localhost mgr:info
HTTP/1.0 200 OK
Server: squid/2.6.STABLE21
Date: Fri, 13 Jan 2012 13:52:06 GMT
Content-Type: text/plain
Expires: Fri, 13 Jan 2012 13:52:06 GMT
Last-Modified: Fri, 13 Jan 2012 13:52:06 GMT
X-Cache: MISS from www.abc.com
X-Cache-Lookup: MISS from www.abc.com:80
Via: 1.0 www.abc.com:80 (squid/2.6.STABLE21)
Connection: close
Squid Object Cache: Version 2.6.STABLE21
Start Time: Fri, 13 Jan 2012 13:45:03 GMT
Current Time: Fri, 13 Jan 2012 13:52:06 GMT

Connection information for squid:
Number of clients accessing cache: 2
Number of HTTP requests received: 20010
Number of ICP messages received: 0
Number of ICP messages sent: 0
Number of queued ICP replies: 0
Request failure ratio: 0.00
Average HTTP requests per minute since start: 2839.7
Average ICP messages per minute since start: 0.0
Select loop called: 2681 times, 157.699 ms avg

Cache information for squid:
Request Hit Ratios: 5min: 99.4%, 60min: 99.4%  #这个命中率已经暴殄天物了(当然,只是用ab进行了测试)
Byte Hit Ratios: 5min: 99.4%, 60min: 99.4%
Request Memory Hit Ratios: 5min: 0.0%, 60min: 0.0%
Request Disk Hit Ratios: 5min: 0.0%, 60min: 0.0%
Storage Swap size: 8 KB
Storage Mem size: 124 KB
Mean Object Size: 4.00 KB

我用ab命令对80 squid端口与81 apache端口同时进行了多次测试:

[root@www ~]# ab -n 10000 -c 100 http://www.abc.com:81/

[root@www ~]# ab -n 10000 -c 100 http://www.abc.com/

其中采用squid后 Requests per second: 7786.69 [#/sec] (mean)
不采用squid 时 Requests per second: 4766.30 [#/sec] (mean)

看来squid的性能的确优异。Squid还支持多台后端服务器进行负载均衡与自动宕机切换,这篇文章仅仅是抛砖引玉,具体方法等有空了以后介绍。

原创文章如转载,请注明:转载自深度VPS [ http://www.deepvps.com ]
[复制本文链接发送给您的好友]
  • 上一篇:
  • 下一篇:
  • 日志信息 »

    该日志于2013-05-26 21:38由 deepvps 发表在网络杂谈分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

    相关日志 »

    共有2条评论 [点此发言]

    1. 1楼 小夜博客 2013年05月27日 05:13

      除了吃内存,其它都很好。

      [回复]

      deepvps 2013年05月28日 16:22 回复:

      是的,不过挺好用。

      [回复]

    发表评论 »

    = 12 + 7 (防止机器人评论)

     疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人