第一步:定义访问Squid的IP地址及其对应的名称
(1)Ctrl+F找到“TAG: acl”段,
(2)Ctrl+F找到“acl Safe_ports port 777”,在“#multiling http”后面增加新行,写“alc 名称 src IP地址”,
(3)示例:acl name1 src 192.168.100.0(解释:定义所有来自192.168.100.*的机器对应的名称为name1)
第二步:定义允许访问squid的列表
(1)Ctrl+F找到“TAG: http_access”段
(2)Ctrl+F找到“http_access deny CONNECT !SSL_ports”后增加新行,写“http_access allow/deny 名称”,allow表示允许访问,deny表示拒绝访问
(3)示例:http_access allow name1(解释:定义所有标识为name1(192.168.100.*)的机器允许访问squid代理服务器)
http_access deny all(解释:定义所有标识拒绝访问squid代理服务器)
(4)Ctrl+F找到“http_access allow localnet”改为“http_access allow all”
第三步:设置squid端口号(squid的默认端口是3128)
(1)Ctrl+F找到“http_port 3128”,删掉前面的#号,并且修改后面的端口号
(2)示例:http_port 7777 (解释:将squid的服务端口改为7777)
(3)Ctrl+F找到“#http_port 3128”在后面增加一行
(4)http_port 81 transparent (解释:某些机器上80端口已被占用,所以这里用81,完成配置后可使用netstat -a来查看该端口是否启用)
(5)http_port 3128 accel vhost vport(解释:设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,访问时就会出现无法找到主机头的错误)
第四步:设置子父代理cache_peer
(1)Ctrl+F找到“TAG: cache_peer”
(2)Ctrl+F找到“cache_peer parent.foo.net”配置相应字段
示例如下
# # proxy icp
# # hostname type port port options
# # -------------------- -------- ----- ----- -----------
源文件 cache_peer parent.foo.net parent 3128 3130 proxy-only default
配置OK cache_peer 127.0.0.1 parent 80 0 proxy-only default
第五步:设置缓存的大小
(1)Ctrl+F找到“cache_mem 8 MB”,删掉前面的“#”号,将默认的8修改到需要的大小。数值应视具体的机器可用内存而定,应在内存允许的情况下尽量地设置的大一些以提高代理
服务器性能,但不能让代理服务器的缓存大小影响本机器的性能。
(2)示例:cache_mem 200 MB(解释:设置squid使用200MB的内存当做代理服务器缓存)
第六步:配置TAG: visible_hostname段
(1)Ctrl+F找到“TAG: visible_hostname”,找到此段,再后面添加“visible_hostname”机器名(随便起)
(2)示例:visible_hostname supersrv(解释:将hostname设置为supersrv)
第七步:按Ctrl+S保存对squid.conf文件的编辑
第八步:开始-运行-cmd,输入如下3条命令:
(1)cd c:\squid\sbinsquid -i (解释:注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)
(2)squid -z (解释:生成高速缓存的目录)
(3)squid (解释:启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)
或
C:\>cd c:\squid\sbin (解释:到“C:\squid\sbin”根目录)
C:\squid\sbin>squid -i (解释:注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)
C:\squid\sbin>squid -z (解释:生成高速缓存的目录)
C:\squid\sbin>net start squid (解释:启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)
第九步:到这里,squid部分就搭建成功了
第十步:开始做域名解析
(1)打开目录C:\WINDOWS\system32\drivers\etc,用记事本打开hosts编辑并保存,61.174.63.74 cdn.jb51.net cdn.jb51.cn (这个IP是指您的主服务器IP,不是CDN机器的IP)
第十一步:访问squid服务器:
(1)http://10.0.2.137:81/ (你的squid服务器IP地址),这时squid会指向 http://10.0.2.137:7001 (web服务器地址:即产品dnt的站点地址)
(2)如果把“#http_access deny all”打开把“http_access allow all”注释掉,你的访问就会被拒绝
========================================================================================================================================================================================================================================================================备注1:设置squid端口号(squid的默认端口是3128)
(1)Ctrl+F找到“http_port 3128”,删掉前面的#号,并且修改后面的端口号
(2)示例:http_port 7777(解释:将squid的服务端口改为7777)
备注2:某些机器上80端口已被占用,所以这里用81
(1)Ctrl+F找到“#http_port 3128”在后面增加一行
(2)http_port 81 transparent (解释:某些机器上80端口已被占用,所以这里用81,完成配置后可使用netstat -a来查看该端口是否启用)
DOS常用命令
复制文件命令
命令行,输入以下命令:
命令1:cd c:\squid (解释:进入C盘squid根目录)
命令2:copy c:\squid\etc\squid.conf.default squid.config (解释:复制c:\squid\etc\squid.conf.default文件到c:\squid文件夹下并重命名为squid.config)
命令3:copy c:\squid\etc\mime.conf.default mime.conf (解释:复制c:\squid\etc\mime.conf.default文件到c:\squid文件夹下并重命名为mime.conf)
安装与启动命令
命令行,输入以下命令:
C:\>cd c:\squid\sbin (解释:到“C:\squid\sbin”根目录)
C:\squid\sbin>squid -i (解释:注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)
C:\squid\sbin>squid -z (解释:生成高速缓存的目录,初始化缓存空间)
C:\squid\sbin>net start squid (解释:启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)
C:\squid\sbin>net stop squid (解释:停止squid服务)
C:\squid\sbin>squid -r (解释:卸载squid服务)
常用设置:
http_port 3128 //设置监听的IP与端口号
cache_mem 64 MB //设置内存缓冲的大小
cache_dir ufs /var/spool/squid 2000 16 256 //设置硬盘缓冲大小
cache_effective_user squid //设置缓存的有效用户
cache_effective_group squid //设置缓存的有效用户组
dns_nameservers 192.168.0.254 //设置DNS服务器地址,一般可以不设置,默认使用服务器自己设置的dns
cache_access_log /var/log/squid/access.log //设置访问日志文件
cache_log /var/log/squid/cache.log //设置缓存日志文件
visible_hostname 192.168.0.20 //设置squid主机名称
cache_mgr [email protected] //邮箱地址
acl localhost src 127.0.0.1/32 *.*.*.*/32 //squid服务器的ip地址
httpd_accel_host *.*.*.* //要跳转的web服务器ip地址
cache_dir ufs c:/squid/var/cache 10000 16 256 //如果squid没有装在C盘中要另外设置
http_port 3128 accel vhost vport //设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,访问时就会出现无法找到主机头的错误
http_port 81 transparent //80端口已被占用,这里用81
cache_swap_low 80 //这两行是设置cache进行替换的闸值。当占用到97%的cache后,cache中的内容将被清空20%
cache_swap_high 97 //这两行是设置cache进行替换的闸值。当占用到97%的cache后,cache中的内容将被清空20%
error_directory /squid/share/errors/Simplify_Chinese //错误提示的语言
cache_peer 10.10.2.53 parent 6666 7 login=username:password default no-query //未知
cache_peer配置选项(配置时注意应为小写)
NO-QUERY:不做查询操作,直接获取数据
NO-NETDB-EXCHANGE:代理服务器之间不交互信息
NO-DIGEST:代理服务器之间不做摘要表查询,直接用ICP协议沟通(同级代理)
PROXY-ONLY:直接获取对方缓冲,转交给代理服务器的客户端,而不存入本地
ROUND-ROBIN:如果设置数部上层服务器,那么轮流查询父级服务器
LOGIN=USER:PASSWD:要求对方做帐号及密码验证,例如cache_peer 192.168.1.41 sibling 3128 3130 login=kao:123456
常用命令
C:\squid\sbin\squid -i -n dnt_squid (命名squid服务的新名称)
C:\squid\sbin\squid -r -n dnt_squid (删除指定名称的服务)
C:\squid\sbin\net start squid (启动)
C:\squid\sbin\net stop squid (关闭)
C:\squid\sbin\netstat -a 查看端口是否启用
C:\squid\sbin\squid -k rotate 轮循日志
C:\squid\sbin\squid -k shutdown 停止squid
C:\squid\sbin\squid -k reconfigure 重新载入配置文件
C:\squid\sbin\squid -k parse 验证squid.conf的语法和配置(如果squid.conf 有语法或配置错误,这里会返回提示你,如果没有返回,恭喜,可以尝试启动squid)
C:\squid\sbin\squid -N -d1 在前台启动squid,并输出启动过程(如果ready to server reques,恭喜,启动成功。然后ctrl+c,停止squid,并以后台运行的方式启动它)
C:\squid\sbin\squid -s 启动squid在后台运行(可以ps -A 来查看系统进程,可以看到俩个 squid 进程)
C:\squid\sbin\squid -k reconfigure 重引导修改过的 squid.conf
C:\squid\sbin>squid -r 卸载squid服务
C:\squid\bin\squidclient -p 80 mgr:info squid运行状态信息
C:\squid\bin\squidclient -p 80 mgr:mem squid内存使用情况
C:\squid\bin\squidclient -p 80 mgr:diskd squid的磁盘使用情况
注:
“#”后的文本表示注释
ACL:访问控制清单
ARL:访问权限清单
一. Squid二级代理
在10.2.1.213上/usr/local/squid安装了 squid-2.5.STABLE7
将此squid配置成二级代理,上级代理IP:10.1.1.12,端口 3128
修改squid.conf使之包含类似如下内容:
cache_peer 10.1.1.12 parent 3128 0 no-query ###定义父代理10.1.1.12,端口3128
acl all src 0.0.0.0/0.0.0.0 ###acl控制列表
http_access allow all
never_direct allow all ###所有请求转发至上级代理
运行squid: # /usr/local/squid/squid ?D