代理服务器Squid 使用详解

Posted on

代理服务器Squid 使用详解 - 51CTO.COM

分享到

百度分享

首页技术频道51CTO旗下网站地图

社区:论坛博客下载读书更多

登录注册

首页 | 思科 | 路由 | 交换 | 无线 | ADSL | VPN | 网管 | 布线 | 接入 | 全部文章

您所在的位置:网络频道 > 代理服务器Squid 使用详解

代理服务器Squid 使用详解

2006-01-17 13:55 nsfocus 我要评论(0) 字号:T | T

一键收藏,随时查看,分享好友!

做为眼下最流行的操作系统,Linux已经越来越受到世人的关注。虽然目前Linux的软件还不是很丰富,替代WINDOWS作为普通PC机操作系统还为时过早,但是在服务器领域,Linux的稳定性,可操作性决不输于任何操作系统,并且也有优秀的软件支持

AD: 2013大数据全球技术峰会低价抢票中

做为眼下最流行的操作系统,Linux已经越来越受到世人的关注。虽然目前Linux的软件还不是很丰富,替代WINDOWS作为普通PC机操作系统还为时过早,但是在服务器领域,Linux的稳定性,可操作性决不输于任何操作系统,并且也有优秀的软件支持 。Squid就是其中之一。Linux加Squid的组合做为代理服务器,性能远远超过WINNT加MSPROXY2.0(个人观点),为几百人的小型局域网代理绰绰有余。下面,我就详细的介绍Squid的安装及使用技巧,希望大家能够喜欢上它。 1.Squid简介

Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。目前,Squid 可以代理HTTP, FTP, GOPHER, SSL 和 WAIS 协议,暂不能代理POP, NNTP等协议。不过,已经有人开始修改Squid,相信不久的将来,Squid能够代理这些协议。

Squid能够缓存任何数据吗?不是的。象缓存信用卡帐号、可以远方执行的scripts、经常变换的主页等是不合适的也是不安全的。Squid可以自动的进行处理,你也可以根据自己的需要设置Squid,使之过滤掉你不想要的东西。 Squid可以工作在很多的操作系统中,如AIX, Digital Unix, FreeBSD, HP-UX, Irix, Linux, NetBSD, Nextstep, SCO, Solaris,OS/2等,也有不少人在其他操作系统中重新编译过Squid。 Squid对硬件的要求是内存一定要大,不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,处理器要求不高,400MH以上既可。

  1. Squid的编译和运行 其实现在的Linux发行套件中基本都有已经编译好的Squid,你所作的就是安装它既可。如果你手头没有现成的编译好的Squid或想使用最新的版本,去ftp:squid.nlanr.net下载一份,自己编译。 Squid的编译是非常简单的,因为它基本上是自己配置自己。最容易出现的问题是你的系统上没有合适的编译器,这可以通过安装相应的编译器解决。如果出现其他问题,你可以问一下有经验的用户或到相应的邮件列表寻找帮助。 编译Squid之前,最好建一个专门运行Squid的用户和组。我就在自己的服务器上建了一个名为squid的用户和组,用户目录设为/usr/local/squid。然后su为用户squid并从squid.nlanr.net下载Squid的源文件到目录 /usr/local/squid/src中,用如下命令进行解压: %tar xzf squid-2.0.RELEASE-src.tar.gz %cd /usr/local/squid/src/ squid-/./.RELEASE / %./configure %make %make install

第一个命令在目录/usr/local/squid/src中产生一个新的子目录/squid-/./.RELEASE/。命令./configure会自动查询你的系统配置情况以及你系统中使用的头文件。不加参数的./configure会把Squid安装在目录/usr/local/squid中,如果你想使用其他目录,用如下命令./configure --prefix=/some/other/directory,这会把Squid安装在目录/some/other/directory中。make命令编译Squid,make install命令安装Squid。 不出意外的话,目录/usr/local/squid中会出现如下目录:

/bin /cache /etc /logs/ /src (自己创建的)

目录/bin中含有Squid可执行程序,包括Squid本身,ftpget等。 目录/cache包含Squid缓存的数据,其中包含象/00/ /01/ /02/ 以及/03/这样的目录,这些目录中还有子目录,因为目录多了比在一个目录成千上万的文件中寻找一个文件更容易,速度更快。 目录/etc中包含Squid的唯一的配置文件squid.conf。 目录/logs中包含Squid的日志。

  1. squid.conf文件的配置 在安装Squid后,在目录/usr/local/squid /etc中会自动产生一个样本squid.conf文件,文件中对每一个选项都有详细的说明,用户可以通过修改该文件以满足不同的需要。 总的来说,有如下几个重要选项: http_port:设定Squid监听的端口,你最好设一个比较好记的端口号,以便在进行客户机配置时容易记住。我的机器上端口号设的是8080。缺省为3128。 cache_mem:设定Squid占用的物理内存,根据我的经验,cache_mem的大小不应超过你的服务器物理内存的三分之一,否则将会影响机器的总体性能。 maximum_object_size:设定Squid可以接收的最大对象的大小。Squid缺省值为4M,我自己入认为太大,你可以根据自己的需要进行设定。 cache_dir:设定缓存的位置、大小。一般看起来形式如下“cache_dir /usr/local/squid/cache 100 16 256”。 /usr/local/squid/cache代表缓存的位置;100代表缓存最大为100M;16和256代表一级和二级目录数。 cache_effective_user:设定使用缓存的有效用户。缺省为用户nobody,如果你的系统中没有用户nobody,最好建一个或以非root用户运行Squid。 下面我给出一个最简单的squid.conf文件:

/#squid.conf - a very basic config file for squid /#Turn logging to it's lowest level debug_options ALL,1 /#defines a group (or Access Control List) that includes all IP addresses acl all src 0.0.0.0/0.0.0.0 /#define RAM used cache_mem 32M /#defines the cache size cache_dir /usr/local/squid/cache 100 16 256 /#allow all sites to use connect to us via HTTP http_access allow all /#allow all sites to use us as a sibling icp_access allow all /#test the following sites to check that we are connected dns_testnames internic.net usc.edu cs.colorado.edu mit.edu yale.edu /#run as the squid user cache_effective_user squid squid

这个配置文件允许所有人使用Squid,创建了100M缓存,使用32M内存,在缺省位置"/usr/local/squid/cache"缓存数据,所有缓存数据以组squid和用户squid身份保存,端口为3128。虽然这个配置很不安全,但是它已经能使用了。

  1. 运行Squid 首先以root身份登陆。运行如下命令: %/usr/local/squid/bin/squid ?z 该命令会产生Squid所有的缓存目录。 如果你想前台执行Squid,接着执行命令: %/usr/local/squid/bin/squid -NCd1 该命令正式启动Squid。如果一切正常,你会看到一行输出 Ready to serve requests. 如果想后台运行Squid,把它做为一个精灵进程,执行命令: %/usr/local/squid/bin/squid 观察Squid是否运行使用命令: % squid -k check 输出会告诉你Squid的当前状态。 好了,文章先写到这里,其实这里介绍的都是最基本的东西,Squid有好多高级的功能,如做WEB服务器的高速缓存,做二级代理服务器,做为防火墙,以及怎样设定过滤规则等,这里就不详述了,如果有机会再奉献给大家。(责任编辑:liucl)

给力 (47票)

动心 (42票)

废话 (49票)

专业 (42票)

标题党 (40票)

路过 (42票)

原文:代理服务器Squid 使用详解 返回网络频道首页

分享到:

1

收藏|打印|复制

关于代理服务器Squid的更多文章

谁来统领企业无线网络-最新802.11n无线路由综合评测 谁来统领企业无线网络-最新802.11n无线路由综合评测

从802.11n诞生以来,一直就没有正式案发布,现在市面上的802.11n[详细]

网友评论TOP5

查看所有评论(0)

提交评论 通行证: 密码: 注册通行证 验证码:点击图片可刷新验证码请点击后输入验证码匿名发表

栏目热门

更多>>

同期最新

更多>>

网络频道

频道导航

  • 热门

路由技术|交换网络|无线网络

  • 技术

布线技术|运维技术|接入技术

  • 专题

专题汇总|网管软件|网络控速

热点推荐

Android开发应用详解

那些性感的让人尖叫的程序员

HTML5 下一代Web开发标准详解

高性能WEB开发应用指南

Ubuntu开源技术交流频道

热门标签: windows频道移动开发云计算objective-ctp-link路由器设置图解html5

  1. 2013 RSA大会:掌控数据 保护世界
  2. 思科UCS助力医疗数据库部署优化

文章排行

本月本周24小时

热点专题

更多>>

  • 网管软件聚宝盆

网管软件聚宝盆

网络管理的定义非常广泛,随着互联网的不断发展,对网

  • 给力呀!负载均衡

给力呀!负载均衡

互联网的发展快得无法言喻,随之而来的各种应用更是层

  • 2010年中国十大布线品牌

2010年中国十大布线品

中国工程建设标准化协会信息通信专业委员会综合布线工

热点标签

局域网网速 IPv6 负载均衡 思科 交换机典型配置 VPN技术 路由器设置 家庭无线局域网 路由故障 网管软件 广域网优化 视频会议 MOVE无线 十大布线品牌 tenda无线路由器设置

《Linux运维趋势》第16期

Java路线图:甲骨文的两年计划

读书

软件架构设计

本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念,阐述了切实可行的软件架构设计方法,提供了可操作性极强

博文推荐

更多>>

最新热帖

更多>>

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone

Copyright©2005-2013 51CTO.COM 版权所有 未经许可 请勿转载 0

希望本站内容对您有点用处,有什么疑问或建议请在后面留言评论
转载请注明作者(RobinChia)和出处 It so life ,请勿用于任何商业用途