- 浏览: 1578911 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
nich002:
原网站失效了。撸主简单粗暴的复制过来,可读性极差!差评!
Apache配置详解(最好的APACHE配置教程) -
107x:
不错,谢谢!
LINUX下查看文件夹下的文件个数! -
Hypereo:
好你妹,连个格式都没有!
Apache配置详解(最好的APACHE配置教程) -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子 -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子
一、Squid入门
二、编译安装Squid
三、Squid的基本配置
1.Squid是什么?
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
2.Internet缓冲的一些概念
你可能会想到一些问题:缓冲有多大的用处?什么时候目标(object)应该或者不应该被缓冲?例如,缓冲信用卡号码是完全不适合的,脚本文件的执行结果在远程服务器端,站点经常更新(象www.cnn.com)或者甚至站点不允许缓冲,这些情况也都是不适合缓冲的。
Squid处理各种情况是不错的(当然,这需要远程站点按标准形式工作)。
可执行的cgi-bin脚本文件不被缓冲,返回正确页眉的页面是在一段限制了的时间内被缓冲,而且你可以规定特殊的规则以确定什么是可以或不可以被缓冲的,还有缓冲的时间为多长。
谈到缓冲的用处有多大,这要看Internet的容量大小,各有不同。对于小型的缓冲区(几转磁盘空间)来说,返回值非常高(达到25%)。这个空间缓冲经常访问的站点,如netscape,cnn和其它一些类似情况的站点。如果你增加一倍缓冲的磁盘空间,但你不会成倍增加你的命中率。这是因为你开始缓冲网络中剩余部分时,这些通常时很大的而且很少被访问。一个非常大的高速缓冲区,有20转左右,可能返回值仍小于50%,除非你对保存数据的时间长短经常改变(一般地你不要分配20转的磁盘空间,因为页面很快就会过时,应该被删除掉)。
我们在这里说的目标(object)指的是可保存的web页面或其它类似的可下载页面(ftp文件或目录内容也称为目标(object))。
3.Squid运行在什么系统上?
Squid可运行在大多数Unix和OS/2版本的系统之上,已知的可工作的有:
AIX,Digital Unix,FreeBSD,HP-UX,Irix,linux,NetBSD,Nextstep,SCO,Solaris
二、编译安装Squid
1.Squid的未编译版本
我不能保证你能发现所有的Squid的未编译版本。在ftp:squid.nlanr.net上你可以找到一些未编译的版本,尽管它们可能不是最新的版本。
Squid一般很容易编译,这是因为它本身可以自动配置。唯一真正的问题是是否在你的机器上有一个编译器。这可能发生在:你购买了商业OS但是它未包括标准的开发选项。你可能考虑在这种情况下装一个GNU的编译器,如果你在/usr/include下有必需的文件的话。你另外一个选择可能是请求别人的帮助。你也许需要查看“tracker database”以找到在你附近运行Squid的某人。假定他们有适合的硬件,他们很可能会帮助你的。
1. 开始编译之前
运行Squid的最好方法(在我看来)是创建一个特定的用户和组来运行它。我用相同的名字创建了一个Squid用户和一个Squid组,并设置用户的home目录为/usr/local/squid。然后我用su 转到Squid用户,这样文件就都由Squid以及Squid组所有(Squid用户主组必须为Squid)。随后我下载Squid源文件到/usr/local/squid/src并解包。
这可能不是最好的安装Squid到你的系统上的方法,但是,如果多个用户将使用squid,你可以把他们都放在Squid组中。(当然,如果你不理解我所说的,尽可以用你自己的名义去安装,不要以root方式,否则,你将给你的机器带来安全上的危险。)
2. 获得源码
Squid的源始站点是squid.nlanr.net。这里还有许多其它的镜像站点,你可以考虑从你本地的镜像站点获得它,或者在archie服务器上搜索。一旦你已经下载了(一般放在/usr/local/squid/src/下),你可以用以下命令解压:
gzip -cd squid-tar.gz-fil | tar xv 或者 tar zxvf squid-tar.gz-fil
这将创建类似于以下行的目录:/usr/local/squid/src/squid-1.1.13/(依版本而定)。
3. 编译Squid
以下是编译Squid的一般指令。你可能还要做其它的事以编译Squid到你的系统上。通常你可以运行一个配置脚本文件,它指明了你的系统设置和你机器上的标题文件。这样,在解压和解包文件后。cd 到/usr/local/squid/src/squid-version/下并输入:
./configure
这里假定你准备安装Squid到/usr/local/squid下。你也可以用下面的方法修改你的安装目录:
./configure -prefix=/some/other/directory
然后你可能要敲入:make 以及 如果编译一切正常时,输入make install。这将生成在后面将要描述的目录并安装文件到目录下。
三、Squid的基本配置
1. 目录结构
Squid通常创建几个目录。它们一般如下:
/usr/local/squid
/bin
/cache
/etc
/logs/
/src (这是我们早些时候创建的)
/bin包括Squid本身的程序,以及其它程序如ftpget,它可以被Squid用来执行各种功能。
/cache/目录是实际缓冲数据的存放区。你可能要考虑把剩余缓冲放到不同分区去,或甚至是不同的磁盘。它包含的目录如以下行的形式:/00/ /01/ /02/ 和/03/ 这些又包括更多的子目录,最终是缓冲的实际数据。存储数据在多个目录下意味着从大的缓冲区取数据仍然很快,因为你的操作系统要读一个包含10000个文件的目录会需要很长的时间。
/etc/包含squid.conf文件,它是唯一的Squid配置文件。
/logs/目录可能会很大,特别是如果你包含同属时,它们会查询你每一次连接,这可以使你的log文件双倍增加。注意在cache目录下也有一个/log/文件,但是你不能删除或移动它。它是上面讨论的/usr/local/squid/cache/目录的一个索引。(这与IE的cache有些相似。)
/src/一般包括你运行Squid版本的源文件。
2. 基本配置
所有的Squid配置集中到一个文件----squid.conf。下面将详细讨论仅作为一个缓冲代理服务器的Squid的配置,而不是把它作为一个http加速器。
以下是一个最基本的配置文件:
#squid.conf - a very basic config file for squid
#Turn logging to its 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
#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
#otherwise, you can uncomment the below line and comment the one out.
# this will run as use "nobody" with the group "nogrtoup"
cache_effective_user nobody nogroup
这个配置允许所有的人访问缓冲区,并创建一个100M的缓冲区,使用8M的内存,保持最小型的logs,而且存储所有文件到默认区域,这一般指的是所有文件将以Squid用户,Squid组的名义存储到“/usr/local/squid/cache”中。所有客户请求将来自于3128端口,并且所有“内部缓冲(inter-cache)”流量将走UDP端口3130。注意这个配置文件允许所有人访问你的缓冲机器,这可能不是你所希望的,但是至少它可以正常工作。
3. 运行Squid
Squid由一个脚本正常运行,这个脚本在它的进程死掉后重启Squid。这里有脚本的两种版本:/usr/local/squid/bin/RunCache 和 /usr/local/squid/bin/RunAccel 。
RunCache脚本一般在前台运行,所以启动Squid,输入以下内容:
% /usr/local/squid/bin/RunCache& %
然后用以下命令查看主Squid log文件/usr/local/squid/logs/cache.log
% more /usr/local/squid/logs/cache.log
你将看到Squid启动的相关信息,如下行所示:
97/02/24 19:34:52| Starting Squid Cache version 1.1.10 for i586-pc-linux-gnu...
97/02/24 19:34:52| With 256 file descriptors available
97/02/24 19:34:52| Initializing IP Cache...
如果你没有看见任何关于FATAL错误的信息,Squid现在就可以很高兴地在你的机器上运行了。
下面将配置你的浏览器,你可以好好地试一下哦!
4. 客户端软件的基本配置
以下是针对浏览器的基本配置:
Netscape(4.5以上版本):
从Edit菜单项中选择Preferences项。在Advanced中Proxies页,点击按钮进入Proxy配置手册,然后再点击View按钮。对每项你的Squid服务器支持的协议项(默认有HTTP,FTP和gopher等)中填入Squid服务器的主机名或IP地址,同时在Port栏中填入Squid服务器的HTTP端口号(默认为3128)。对你的Squid不支持的协议,可以让这些栏空着。
IE(5.0以上中文版本):
在工具菜单项中选择Internet选项,然后点击连接页,再按局域网设置按钮选择使用代理服务器选项,进入高级项目编辑。然后可以看到与Netscape代理服务器设置类似的界面,按照前面所述的方法分别填入相应项即可。
一般Unix下配置:
如果你使用可以允许你访问web的Unix程序(包括wget,lynx和mosaic等),你可以设置shell变量,通过这些变量可以配置好代理。
如果你使用的shell是tcsh或csh,命令如下:
% setenv http_proxy http://mycache.example.com:3128/
% setenv gopher_proxy http://mycache.example.com:3128/
% setenv ftp_proxy http://mycache.example.com:3128/
现在你就可以使用你的浏览器与缓冲连接以下载页面了。为了检查通过缓冲是否工作正常,可以查看/usr/local/squid/logs/access.log文件的内容,使用命令如下:more /usr/local/squid/logs/access.log。你可以看到所有你进行的访问信息都显示在该文件中。//
评论
From: http://www.chmhome.com/knowledge/proxysystem/20071117/141066.html
squid服务器,动手实现了一个简单的功能!即:在一台机器上安装squid和apache服务,实现squid对本机的apache服务实现加速功能,系统是:linuxAS4 + apache + squid ,送给和我一样的新手!
说明:服务器只有一块网卡,125.35.xxx.xxx,在公网上做了dns解析,把www1.mydomain 和 www2.mydomain都解析到了这个
公网地址125.35.xxx.xxx!
1)安装apache并配置两个虚拟主机
httpd.conf的几个修改
Listen 127.0.0.1:80(使用本地地址)
apache绑了2个虚机:地址都是127.0.0.1:80
附上一个配置文件:
<VirtualHost 127.0.0.1:80>
DocumentRoot /opt/webdata/www1cn
ServerName www1.mydomain
DirectoryIndex index.html
</VirtualHost>
然后修改/etc/hosts文件把127.0.0.1这行变成一下形式:
127.0.0.1 www1.mydomain www2.mydomain localhost localhost.localdomain
apache不多说了,配置完了然后启动!
2)安装squid并配置
下载squid-2.6.STABLE16.tar.gz到/tmp目录下
# cd /tmp
# wget http://www.squid-cache.org/Versi ... 2.6.STABLE16.tar.gz
# tar zvxf squid-2.6.STABLE16.tar.gz
# cd squid-2.6.STABLE16
# ./configure --prefix=/opt/squid --with-maxfd=65536 ; make;make install;echo $?
//最后看到0就表示安装正常结束
# cd /opt/squid
把etc/squid.conf变为以下内容:
visible_hostname 229squid
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
icp_access allow all
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
access_log /opt/squid/var/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
coredump_dir /opt/squid/var/cache
http_port 125.35.xxx.xxx:80 vhost vport
cache_peer www1.mydomain parent 80 0 no-query originserver name=www1cn
cache_peer www2.mydomain parent 80 0 no-query originserver name=www2cn
cache_peer_domain www1cn www1.mydomain
cache_peer_domain www2cn www2.mydomain
acl OverConnLimit maxconn 16
http_access deny OverConnLimit
cache_effective_user squid
cache_effective_group squid
tcp_recv_bufsize 65535 bytes
cache_dir ufs /opt/squid/var/cache 512 16 256
cache_mem 256 MB
maximum_object_size 10000 KB
maximum_object_size_in_memory 1024 KB
emulate_httpd_log>
发表评论
-
Apache相关知识整理
2010-06-22 14:04 1153Apache反向代理: ProxyRequests Of ... -
apache ab压力测试
2010-03-04 10:36 5726From: http://blog.chinaunix.net ... -
借助于referer来实现防盗链功能
2009-07-06 12:40 2443From:http://home.phpchina.com/s ... -
Apache配置详解(最好的APACHE配置教程)
2009-02-21 11:32 220569From: http://aiks.blog.com.cn/ ... -
类似于LoadRunner的压力测试功能
2008-12-19 16:59 1624http://jakarta.apache.org/jmete ... -
用Apache的rewrite生成伪静态页面
2008-12-08 22:53 4998From: http://www.qudong.com/sof ... -
apxs - Apache 扩展工具
2008-11-17 17:34 3215From: http://lamp.linux.gov.cn/ ... -
应用服务器-Resin服务器平台介绍
2008-10-09 14:15 2037From: http://java.ccidnet.com/ ... -
处理tomcat中文乱码问题[z]
2008-06-05 15:22 2065在JSP/Servlet 中主要有以下几个地方可以设置编码,p ... -
Google大表(Bigtable):结构化数据的分布存储系统[z]
2008-03-31 17:44 4077九月 26, 2006翻译:Google大表(BigTable ... -
Tomcat5+ 传递参数时乱码问题的解决办法
2008-01-10 13:29 1178在 %TOMCAT_HOME%/conf/web.xml中,找 ... -
纽约时报:谷歌打破游戏规则挑战微软霸主地位[z]
2007-12-18 23:11 2041From: http://tech.qq.com/a/2007 ... -
A first hand look at building an Android application
2007-11-18 21:45 1404A first hand look at building a ... -
Apache配置技巧[z]
2007-10-18 21:45 1534Apache Apache软件包的组成 Apache服务器的启 ... -
SOA面向服务架构的原则[z]
2007-10-05 23:16 1372众多企业都已经创建各种实验性Web Services 项目,事 ... -
ORA-00018:超出最大会话数[z]
2007-10-04 20:03 5316来自:blog.csdn.net/meanson/archiv ...
相关推荐
squid -z ``` 启动 Squid 服务并设置开机启动: ```bash # 启动 Squid 服务 service squid start # 添加自动启动 ntsysv ``` 检查 Squid 的命中率: ```bash cd /usr/sbin ./squidclient –p 监听端口 –h 主机...
2. 运行 Squid:使用 ./squid -z 命令运行 Squid,例如 `# ./squid -z`。 3. 配置 squid.conf 文件:在 /usr/local/squid/etc 目录下添加一条记录 “visible_hostname 主机名”,例如在 squid.conf 文件中添加 ...
/squid/proxy/sbin/squid -z ``` 6. **启动Squid服务**: 使用Squid的启动脚本来启动服务: ``` /squid/proxy/sbin/squid ``` 7. **检查Squid进程**: 为了确认Squid已经成功启动并正在运行,你可以通过...
运行 `/usr/local/squid/sbin/squid -z` 命令来初始化SQUID的缓存目录。这一步可能需要一些时间,因为它会创建缓存所需的文件结构。 5. **启动SQUID**: 使用 `/usr/local/squid/sbin/squid` 命令启动SQUID服务。...
# squid -z ``` 初始化过程会在 `/var/spool/squid/` 目录下创建一系列子目录。 ##### 3.3 Squid 服务的启动与停止 Squid 服务可以通过标准的系统服务管理命令进行操作: - **启动 Squid 服务**:`# service ...
【RHEL5企业级Linux服务攻略】:Squid配置详解 Squid是一个流行的开源HTTP代理服务器,常用于提供缓存服务,提高网络访问速度并实现访问控制。在RHEL5环境中,配置Squid作为企业级代理服务器是一项基础但重要的任务...
### Squid多IP出口认证详解 .../sbin/squid -z ``` 然后,启动Squid服务: ``` /sbin/squid -N ``` 至此,Squid多IP出口认证配置完成,可根据实际需求调整配置文件中的细节,以达到最佳性能和安全效果。
### Squid 透明代理的实现与配置 #### 一、Squid 透明代理概述 透明代理是一种代理服务器的工作模式,在这种模式下,客户端无需进行任何配置就能通过代理服务器访问互联网资源。Squid 作为一款广泛使用的高性能...
**一、Squid简介** Squid的核心特点包括: 1. **灵活性**:Squid的配置非常灵活,可以设置复杂的访问规则,满足不同场景的需求。 2. **高性能**:Squid通过内存和硬盘缓冲技术,显著提高网络数据传输效率,减少带宽...
### Squid 中文权威指南(5):运行 Squid 及配置排查 #### 5.1 squid 命令行选项详解 Squid 的命令行选项为管理员提供了丰富的工具来管理和调试 Squid 代理服务器。以下是部分常用及重要的命令行选项: 1. **-a ...
3. **服务启动**:在 Windows 上,Squid 可以作为服务启动,通过命令行使用 `squid.exe -z` 初始化缓存目录,然后使用 `squid.exe -k start` 启动服务。 4. **防火墙设置**:为了允许外部访问 Squid 代理,需要在 ...
(备注:Squid for windows的默认安装是在C:squid下,当然,可以把Squid放到其他的路径,但是需要大量的配置squid配置文件中的路径信息,那样会比较麻烦) Unix Like的操作系统下的大部分软件都是基于命令行的,...
导航到Squid的bin目录,例如`C:\squid\bin`,然后运行` squid.exe -z `来初始化缓存目录,接着运行` squid.exe `来启动服务。 5. **防火墙设置**:确保Windows防火墙或任何其他防火墙软件允许Squid监听的端口通过,...
- **配置WCCP v1**:如果使用WCCP,则需要配置Squid与路由器之间的通信协议。 - **调试问题**:通过查看日志文件、使用调试工具等方式排查配置过程中出现的问题。 总结而言,Cache拦截是一种高效的流量管理和性能...
通过启用Linux Netfilter功能,可以将Squid配置为透明代理,这样客户端无需进行任何配置即可使用代理服务。 - **流量监控** 启用SNMP支持后,可以使用MRTG等工具来监控Squid的流量状态。 - **安全性和访问控制*...
`squid -z` `squid -NCd1` 这将创建缓存目录并启动 Squid 代理服务器。 调试 在调试过程中,可以在前台运行 Squid 代理服务器,以便更好地调试: `squid -NCd1` 这将在前台运行 Squid 代理服务器,方便调试。 ...
使用 `squid -z` 命令可以自动创建这些目录。 **启动和管理 Squid 服务** 启动 Squid 服务:`service squid start` 重启 Squid 服务:`service squid restart` 重新加载配置文件:`service squid reload` **...