欢迎访问 FreeeLAMP.com Opinion  Tutorial  Tips  Apache  PHP 
 搜索
 首页


全文搜索
RDF新闻订阅

应用缓冲服务器为网站提速
Tutorial徐永久 发表于 2001年10月16日 20:57。  

本文对中小型企业局域网 采用 Linux 作缓冲服务器提出了解决方案。

世界已经步入 Internet 计算的时代,而这个时代的代表就是Web 服务。几年前,我们把 WWW 叫做 World Wide Wait,现在的形势虽然有所好转,但是我们浏览很多网站依然可以体会到这种感觉。笔者今天要讲的是采用 Linux 下的开放源码产品实现缓冲服务器。让我们不再“享受”等待的痛苦。

我们的缓冲服务器有两种实现模式。一种是在局域网的实现,用来加速局域网到外部 Internet 的连接。第二种是把服务器假设在Web 服务器和Internet 之间。它能缓冲客户对Web 服务器的请求,而减轻Web 服务器的负荷。性能的具体提升数值随实际网络流量的变化而变化,但是在实验室下测得的数据能达到54% 的缓冲。这意味着缓冲服务器为Web 服务器挑了一半的担子!


一、安装

我们采用的产品为 Squid ,这是一个开放源码的项目,你可以从
http://www.squid-cache.org/ 免费下载。

Squid 是一个专吃内存的家伙,而对 CPU 却没有什么特别嗜好。所以,配置的服务器最好要有 512M 内存,CPU 可以是 Celeron 566 左右就可以了。当然因为要缓冲数据,所以对硬盘的要求也要稍微高一点,你可以采用容量为 20GB,转速为7200 转的硬盘。


二、设置

很多服务器都带有 Web 界面管理程序,例如 Webmin 或者有些本身就带有 Squid 的图形界面管理工具。建议初学者使用这些工具来管理Squid ,对于那些老鸟,可以直接修改 /etc/squid/squid.conf 文件来做配置。但是无论何种方式,都需要修改几个核心参数。

首先需要指定 Squid 侦听的 HTTP 端口,我们设定为 80。你可以设定为其他任何端口,但是要知道 1024 以下的端口需要 root 权限。


http_port 80


然后,需要指定缓冲存放位置,缺省为 /var/spool/squid/,你可以指定为任意地方。也可以为多个磁盘指定多个cache_dir 选项。路径后面的参数分别为缓冲区大小(MB),可以建立的第一层和第二层的目录数目。

cache_dir /var/spool/squid/ 100 16 256


另外还可以设置Email 通知的邮件地址,以便服务器宕机时发送电子邮件。

cache_mgr your_emailaddress

为了安全考虑,避免用 root 权限启动 Squid ,采用以下选项:

cache_effective_user squid
cache_effective_group squid


建议你建立单独的 squid 用户和组,来管理 squid。如果安装Red Hat 7.0 时,选择安装Squid ,系统会帮你建立这个用户。


三、安全
本文不是来讨论安全问题的,因此,不展开讨论怎样关注缓冲服务器背后的Web 服务器以及数据库服务器的安全,但是我们必须知道作为一台服务器,需要有一个基本的安全策略来保护自己的网络。下面的例子就可以实现这样的安全:

acl my-iplist-1 src 192.168.1.0/24
acl my-iplist-2 src 10.0.0.0/255.255.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
http_access allow my-iplist-1
http_access allow my-iplist-2
icp_access allow my-iplist-1
icp_access allow my-iplist-2
http_access allow localhost
http_access deny all
always_direct allow my-iplist-1
always_direct allow my-iplist-2
never_direct allow all


如果有你安装了防火墙,需要有特别的考虑的话,可以参考 Squid 的手册:

http://squid-docs.sourceforge.net/latest/html/x812.htm


四、目录

到此为止,我们还没有建立存放缓冲数据的目录,下面来建立目录:

# mkdir /var/spool/squid/
# chown squid.squid /var/spool/squid/
# chmod 770 /var/spool/squid/


用下面的命令来初始化目录:

# squid -z


五、结论

这样,整个服务器的设置就到此结束,为了在机器启动时能自动启动缓冲服务器,我们需要设置好启动脚本。这里就不多赘述了。



<  |  >

 

相关连接
  • 有关Tutorial 的文章
  • 作者徐永久的所有文章
  • 联系作者
    Google
    Web freelamp.com

  • 禅道 须在生活中修,在日常言语、形式里面契合、印证
    自我的觉醒却是光阴偷不走,人拿不走的。
    Back to Top| About 我家小子 版权所无 2001,2007 FreeLAMP.com