第1章
-----------------------------
译 者序:本人在工作中维护着数台Squid 服务器,多次参阅Duane Wessels(他也是Squid 的创始人)的这本书,原书名是"Squid: The Definitive Guide",由O'Reilly 出版。我在业余时间把它翻译成中文,希望对中文Squid 用户有所帮助。对普通的单位上网用户,Squid 可充当代理服务器;而对Sina,NetEase 这样的大型站点,Squid 又充当WEB 加速器。这两个角色它都扮演得异常优秀。窗外繁星点点,开源的世界亦如这星空般美丽,而Squid 是其中耀眼的一颗星。对本译版有任何问题,请跟我联系,我的Email是:yonghua_peng@yahoo.com.cn 彭勇华
第一章是Squid 的简介性描述,与技术关联不多,我不准备多翻译。
1.1 Web 缓存
这节里需要明白3个概念:
cache 命中 - 在squid 每次从它的缓存里满足HTTP 请求时发生。cache 命中率,是所有HTTP 请求中命中的比例。Web 缓存典型的cache 命中率在30%到60%之间。另一个相似的度量单位叫做字节命中率,描绘了cache 提供服务的数据容量(字节数)。
cache丢失 - 在squid 不能从它的缓存里满足HTTP 请求时发生。cache 丢失的理由有很多种。最明显的,当squid 第一次接受到对特殊资源的请求时,就是一个cache 丢失。类似的情况是,squid 会清除缓存以释放空间给新对象。另外的可能是资源不可到达。原始服务器会指示cache 怎样处理响应。例如,它会提示数据不能被缓存,或在有限的时间内才被重复使用,等等。
cache确认 - 保证squid 不对用户返回过时数据。在重复使用缓存对象时,squid 经常从原始服务器确认它。假如服务器指示squid 的拷贝仍然有效,数据就发送出去。否则,squid升级它的缓存拷贝,并且转发给客户。
1.2 Squid 的简明历史
对本节感兴趣的读者请阅读英文原文档。
1.3 硬件和操作系统要求
Squid 运行在所有流行的Unix 系统上,也可以在Microsoft Windows 上运行。尽管squid的Windows 支持在不断改进,但也许在Unix 上容易一些。假如你有一个喜欢的操作系统,我建议你使用那个。否则,假如你找人推荐,我很喜欢FreeBSD。
squid 对硬件要求不算高。内存是最重要的资源。内存短缺会严重影响性能。磁盘空间也是另一个重要因素。更多的磁盘空间意味着更多的缓存目标和更高的命中率。快速 的磁盘和驱动器也是有利的。如果你舍得花钱,SCSI 磁盘比ATA 的执行性能好。当然快速的CPU也是好的,但它并不是提高性能的关键因素。
因为squid 对每个缓存响应使用少数内存,因此在磁盘空间和内存要求之间有一定联系。基本规则是,每G 磁盘空间需要32M内存。这样,512M 内存的系统,能支持16G 的磁盘缓存。你的情况当然会不同。内存需求依赖于如下事实:缓存目标大小,CPU 体系(32位或64 位),同时在线的用户数量,和你使用的特殊功能。
人们经常问如此问题:“我的网络有X 个用户,需要配备什么样的硬件给squid?”因为许多理由,这样的问题好难回答。特别的,很难说X 个用户将产生多少流量。我告诉人们去建立一个有足够磁盘空间,可存储3-7 天web 流量数据的系统。例如,假如你的用户每天8 小时耗费1M 流量(仅仅HTTP 和FTP 传输),那就是每天大约3.5G。所以,我可以说,每兆web 传输你需要10 到25G 的磁盘空间。
1.4 squid 是开源的
Squid 是自由软件和合作项目。假如你觉得squid 有用,请考虑以下面一种或几种方法来回报该项目:
1.参与squid 用户讨论列表,回答问题和帮助新用户。
2.测试新版本,报告bug 或其他问题。
3.致力于在线文档和FAQ。假如你发现错误,将它报告给维护者。
4.将你的局部修改提交给开发者。
5.对开发者提供财政支持。
6.告诉开发者你想要的新功能。
7.告诉你的朋友和同学,Squid 非常Cool。
Squid 是在GNU 公用许可证(GPL)下发行的自由软件。关于GPL 的更多信息请见:http://www.gnu.org/licenses/gpl-faq.html
1.5 Squid 的Web 主页
Squid的主页在http://www.squid-cache.org 你自己阅读该站点吧。
1.6 获取帮助
1.6.1 FAQ
Squid的FAQ文档在http://www.squid-cache.org/Doc/FAQ/FAQ.html ,是对新用户的好信息资源。
1.6.2 邮件列表
Squid 有三个邮件列表可用。邮件列表主页在:http://www.squid-cache.org/mailing-lists.html
1.6.2.1 Squid 用户
订阅该邮件列表,发邮件到 squid-users-subscribe@squid-cache.org
1.6.2.2 Squid 公告
订阅该邮件列表,发邮件到 squid-announce-subscribe@squid-cache.org
1.6.2.3 Squid 开发
加入该邮件列表有所限制。它的内容发布在http://www.squid-cache.org/mail-archive/squid-dev/
1.6.3 职业支持
即付费的支持 - 职业支持服务提供商列表,请见http://www.squid-cache.org/Support/services.html
1.7 启动Squid
-----------------------------
译 者序:本人在工作中维护着数台Squid 服务器,多次参阅Duane Wessels(他也是Squid 的创始人)的这本书,原书名是"Squid: The Definitive Guide",由O'Reilly 出版。我在业余时间把它翻译成中文,希望对中文Squid 用户有所帮助。对普通的单位上网用户,Squid 可充当代理服务器;而对Sina,NetEase 这样的大型站点,Squid 又充当WEB 加速器。这两个角色它都扮演得异常优秀。窗外繁星点点,开源的世界亦如这星空般美丽,而Squid 是其中耀眼的一颗星。对本译版有任何问题,请跟我联系,我的Email是:yonghua_peng@yahoo.com.cn 彭勇华
第一章是Squid 的简介性描述,与技术关联不多,我不准备多翻译。
1.1 Web 缓存
这节里需要明白3个概念:
cache 命中 - 在squid 每次从它的缓存里满足HTTP 请求时发生。cache 命中率,是所有HTTP 请求中命中的比例。Web 缓存典型的cache 命中率在30%到60%之间。另一个相似的度量单位叫做字节命中率,描绘了cache 提供服务的数据容量(字节数)。
cache丢失 - 在squid 不能从它的缓存里满足HTTP 请求时发生。cache 丢失的理由有很多种。最明显的,当squid 第一次接受到对特殊资源的请求时,就是一个cache 丢失。类似的情况是,squid 会清除缓存以释放空间给新对象。另外的可能是资源不可到达。原始服务器会指示cache 怎样处理响应。例如,它会提示数据不能被缓存,或在有限的时间内才被重复使用,等等。
cache确认 - 保证squid 不对用户返回过时数据。在重复使用缓存对象时,squid 经常从原始服务器确认它。假如服务器指示squid 的拷贝仍然有效,数据就发送出去。否则,squid升级它的缓存拷贝,并且转发给客户。
1.2 Squid 的简明历史
对本节感兴趣的读者请阅读英文原文档。
1.3 硬件和操作系统要求
Squid 运行在所有流行的Unix 系统上,也可以在Microsoft Windows 上运行。尽管squid的Windows 支持在不断改进,但也许在Unix 上容易一些。假如你有一个喜欢的操作系统,我建议你使用那个。否则,假如你找人推荐,我很喜欢FreeBSD。
squid 对硬件要求不算高。内存是最重要的资源。内存短缺会严重影响性能。磁盘空间也是另一个重要因素。更多的磁盘空间意味着更多的缓存目标和更高的命中率。快速 的磁盘和驱动器也是有利的。如果你舍得花钱,SCSI 磁盘比ATA 的执行性能好。当然快速的CPU也是好的,但它并不是提高性能的关键因素。
因为squid 对每个缓存响应使用少数内存,因此在磁盘空间和内存要求之间有一定联系。基本规则是,每G 磁盘空间需要32M内存。这样,512M 内存的系统,能支持16G 的磁盘缓存。你的情况当然会不同。内存需求依赖于如下事实:缓存目标大小,CPU 体系(32位或64 位),同时在线的用户数量,和你使用的特殊功能。
人们经常问如此问题:“我的网络有X 个用户,需要配备什么样的硬件给squid?”因为许多理由,这样的问题好难回答。特别的,很难说X 个用户将产生多少流量。我告诉人们去建立一个有足够磁盘空间,可存储3-7 天web 流量数据的系统。例如,假如你的用户每天8 小时耗费1M 流量(仅仅HTTP 和FTP 传输),那就是每天大约3.5G。所以,我可以说,每兆web 传输你需要10 到25G 的磁盘空间。
1.4 squid 是开源的
Squid 是自由软件和合作项目。假如你觉得squid 有用,请考虑以下面一种或几种方法来回报该项目:
1.参与squid 用户讨论列表,回答问题和帮助新用户。
2.测试新版本,报告bug 或其他问题。
3.致力于在线文档和FAQ。假如你发现错误,将它报告给维护者。
4.将你的局部修改提交给开发者。
5.对开发者提供财政支持。
6.告诉开发者你想要的新功能。
7.告诉你的朋友和同学,Squid 非常Cool。
Squid 是在GNU 公用许可证(GPL)下发行的自由软件。关于GPL 的更多信息请见:http://www.gnu.org/licenses/gpl-faq.html
1.5 Squid 的Web 主页
Squid的主页在http://www.squid-cache.org 你自己阅读该站点吧。
1.6 获取帮助
1.6.1 FAQ
Squid的FAQ文档在http://www.squid-cache.org/Doc/FAQ/FAQ.html ,是对新用户的好信息资源。
1.6.2 邮件列表
Squid 有三个邮件列表可用。邮件列表主页在:http://www.squid-cache.org/mailing-lists.html
1.6.2.1 Squid 用户
订阅该邮件列表,发邮件到 squid-users-subscribe@squid-cache.org
1.6.2.2 Squid 公告
订阅该邮件列表,发邮件到 squid-announce-subscribe@squid-cache.org
1.6.2.3 Squid 开发
加入该邮件列表有所限制。它的内容发布在http://www.squid-cache.org/mail-archive/squid-dev/
1.6.3 职业支持
即付费的支持 - 职业支持服务提供商列表,请见http://www.squid-cache.org/Support/services.html
1.7 启动Squid
squid.conf 实例
#取消对代理阵列的支持
icp_port 0
#对日志文件和pid文件位置进行设置
cache_store_log none
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
emulate_httpd_log on
pid_filename /usr/local/squid/var/logs/squid.pid
#设置运行时的用户和组权限
cache_effective_user squid
cache_effective_group squid
#设置管理信息
visible_hostname wwwx.3322.org.
cache_mgr yourname@yourdomain.com
#设置监听地址和端口
http_port 3128
udp_incoming_address 0.0.0.0
#设置squid用户hot object的物理内存的大小以及设置cache目录
cache_mem 32 MB
cache_dir ufs /usr/local/squid/cache 1024 16 256
#访问控制设置
acl mynet src 192.168.0.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
http_access allow mynet
http_access deny all
#透明代理设置
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#swap 性能微调
half_closed_clients off
cache_swap_high 100%
cache_swap_low 80%
maximum_object_size 1024 KB
#控制对象的超时时间
refresh_pattern -i .html 1440 90% 129600 reload-into-ims
refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .png 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 129600 reload-into-ims
#取消对代理阵列的支持
icp_port 0
#对日志文件和pid文件位置进行设置
cache_store_log none
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
emulate_httpd_log on
pid_filename /usr/local/squid/var/logs/squid.pid
#设置运行时的用户和组权限
cache_effective_user squid
cache_effective_group squid
#设置管理信息
visible_hostname wwwx.3322.org.
cache_mgr yourname@yourdomain.com
#设置监听地址和端口
http_port 3128
udp_incoming_address 0.0.0.0
#设置squid用户hot object的物理内存的大小以及设置cache目录
cache_mem 32 MB
cache_dir ufs /usr/local/squid/cache 1024 16 256
#访问控制设置
acl mynet src 192.168.0.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
http_access allow mynet
http_access deny all
#透明代理设置
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#swap 性能微调
half_closed_clients off
cache_swap_high 100%
cache_swap_low 80%
maximum_object_size 1024 KB
#控制对象的超时时间
refresh_pattern -i .html 1440 90% 129600 reload-into-ims
refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .png 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 129600 reload-into-ims
分页: 1/1
1
1
环球 嘉年华 杭州
Linux下架设代理服务器


内文分页: [1] 












