如何设置代理服务器软件Squid
时间:2006-12-06 来源:mengdie153
Squid是一个缓存Internet数据的软件。当用户想要下载一个主页时,他向Squid发出一个申请,要Squid替它下载。然后Squid连接所申请网站,并请求该主页,接着把该主页传给用户,同时保留一个备份。当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户感觉速度相当快。
编译Squid
在编译Squid之前,最好建一个专门运行Squid的用户和组。笔者就在自己的服务器上建了一个名为squid的用户和组。用户目录设为/usr/local/squid。然后用su命令转换为squid用户,并从http://squid.nlanr.net下载Squid的源文件到目录/usr/local/squid/src中,用如下命令进行解压后安装:
第一条命令在目录/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缓存的数据。目录/etc中包含Squid惟一的配置文件squid.conf。目录/logs中包含Squid的日志。
配置squid.conf
在安装Squid后,在目录/usr/local/squid /etc中会自动产生一个样本squid.conf文件。文件中对每一个选项都有详细的说明,用户可以通过修改该文件以满足不同的需要。
总的来说,有如下几个重要选项:
◆ http_port 设定Squid监听的端口。用户可设一个比较好记的端口号,以便在进行客户机配置时容易记住。笔者的机器上端口号设的是8080,缺省为3128。
◆ cache_mem 设定Squid占用的物理内存。根据笔者的经验,cache_mem的大小不应超过物理内存的三分之一,否则将会影响机器的总体性能。
◆ maximum_object_size 设定Squid可以接收的最大对象的大小。Squid缺省值为4MB。用户可以根据自己的需要进行设定。
◆ cache_dir 设定缓存的位置、大小。一般看起来形式如cache_dir usr/local/squid/cache 100 16 256。/usr/local/squid/cache代表缓存的位置;100代表缓存最大为100MB;16和256代表一级和二级目录数。
◆ cache_effective_user 设定使用缓存的有效用户,缺省用户为nobody。如果用户的系统中没有用户nobody,最好建一个或以非root用户运行Squid。
下面给出一个简单的squid.conf文件:
这个配置文件允许所有人使用Squid,创建了100MB缓存,使用32MB内存,在缺省位置/usr/local/squid/cache缓存数据。所有缓存数据以组squid和用户squid身份保存,端口为3128。
运行Squid
首先以root身份登陆,运行如下命令,产生Squid所有的缓存目录:
#/usr/local/squid/bin/squid ?z
如果用户想前台执行Squid,接着执行下面的命令来正式启动Squid:
#/usr/local/squid/bin/squid -NCd1
如果上面的命令运行正常,用户会看到如下一行输出:
Ready to serve requests.
如果想后台运行Squid,把它作为一个精灵进程,执行命令如下:
#/usr/local/squid/bin/squid
观察Squid是否运行使用下面的命令,输出会告诉用户Squid的当前状态:
#squid -k check
编译Squid
在编译Squid之前,最好建一个专门运行Squid的用户和组。笔者就在自己的服务器上建了一个名为squid的用户和组。用户目录设为/usr/local/squid。然后用su命令转换为squid用户,并从http://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缓存的数据。目录/etc中包含Squid惟一的配置文件squid.conf。目录/logs中包含Squid的日志。
配置squid.conf
在安装Squid后,在目录/usr/local/squid /etc中会自动产生一个样本squid.conf文件。文件中对每一个选项都有详细的说明,用户可以通过修改该文件以满足不同的需要。
总的来说,有如下几个重要选项:
◆ http_port 设定Squid监听的端口。用户可设一个比较好记的端口号,以便在进行客户机配置时容易记住。笔者的机器上端口号设的是8080,缺省为3128。
◆ cache_mem 设定Squid占用的物理内存。根据笔者的经验,cache_mem的大小不应超过物理内存的三分之一,否则将会影响机器的总体性能。
◆ maximum_object_size 设定Squid可以接收的最大对象的大小。Squid缺省值为4MB。用户可以根据自己的需要进行设定。
◆ cache_dir 设定缓存的位置、大小。一般看起来形式如cache_dir usr/local/squid/cache 100 16 256。/usr/local/squid/cache代表缓存的位置;100代表缓存最大为100MB;16和256代表一级和二级目录数。
◆ cache_effective_user 设定使用缓存的有效用户,缺省用户为nobody。如果用户的系统中没有用户nobody,最好建一个或以非root用户运行Squid。
下面给出一个简单的squid.conf文件:
debug_options ALL,1 acl all src 0.0.0.0/0.0.0.0 cache_mem 32M cache_dir /usr/local/squid/cache 100 16 256 http_access allow all icp_access allow all dns_testnames internic.net usc.edu cs.colorado.edu mit.edu yale.edu cache_effective_user squid squid |
这个配置文件允许所有人使用Squid,创建了100MB缓存,使用32MB内存,在缺省位置/usr/local/squid/cache缓存数据。所有缓存数据以组squid和用户squid身份保存,端口为3128。
运行Squid
首先以root身份登陆,运行如下命令,产生Squid所有的缓存目录:
#/usr/local/squid/bin/squid ?z
如果用户想前台执行Squid,接着执行下面的命令来正式启动Squid:
#/usr/local/squid/bin/squid -NCd1
如果上面的命令运行正常,用户会看到如下一行输出:
Ready to serve requests.
如果想后台运行Squid,把它作为一个精灵进程,执行命令如下:
#/usr/local/squid/bin/squid
观察Squid是否运行使用下面的命令,输出会告诉用户Squid的当前状态:
#squid -k check
相关阅读 更多 +