2、安装 将squid解压到c:\squid(当然也可解压在其它盘符下)3、建立磁盘缓存和日志目录 默认情况是在安装磁盘下建立,为确保性能大幅度提升,建立选择磁盘空间容量较大的盘符,如:建立d:\squid\var目录,在var目录下建立logs和cache目录,其中logs目录用 于存放日志,cache目录用于存放硬盘缓存数据。4、建立缓存目操作权限 为了使抓取的数据,能够存放在缓存目录下,建立系统账户如squidapp,将其属于普通用户组应可,将d:\squid授予该用户读写权限即可。5、文件更改 c:\squid\etc是squid的配置信息的存放处,为确保安全,在你修改配置文件前,请将其备份,然后将squid.conf.default修改为squid.conf, mime.conf.default修改为 mime.conf ,cachemgr.conf.default 修改为cachemgr.conf6、配置squid 针对于squid来讲大部分配都在squid.conf中,本文中所使用环境如下: 开启如下访问控制[plain]view plaincopyaclallsrcallaclmanagerprotocache_objectacllocalhostsrc127.0.0.1/32aclto_localhostdst127.0.0.0/8acllocalnetsrc172.16.65.231/255.255.0.0指定本地网络及掩码 开启访问端口[plain]view plaincopyaclssl_portsport443aclsafe_portsport80#httpaclsafe_portsport21#ftpaclsafe_portsport443#httpsaclsafe_portsport70#gopheraclsafe_portsport210#waisaclsafe_portsport1025-65535#unregisteredportsaclsafe_portsport280#http-mgmtaclsafe_portsport488#gss-httpaclsafe_portsport591#filemakeraclsafe_portsport777#multilinghttpaclconnectmethodconnect 开启访问控制,请一定要注意顺序[plain]view plaincopyhttp_accessallowmanagerlocalhosthttp_accessdenymanagerhttp_accessdeny!safe_portshttp_accessdenyconnect!ssl_portshttp_accessallowallhttp_accessallowlocalnethttp_accessdenyall 指定squid在80端口侦听, vhost 指定使用加速模式,http_prot默认应该是3128,可以在配置文件中搜索http_prot来查看[plain]view plaincopyhttp_port80vhost 172.20.65.203后台web server, parent指父节点, 80 指后台网站的端口, 0 icp 服务端口,no-query originserver 获取缓存时的选项[plain]view plaincopycache_peer172.20.65.203parent800no-queryoriginserver 缓存设置[plain]view plaincopymaximum_object_size_in_memory1024kbcache_dirufsd:/squid/var/cache102416256注意路径maximum_object_size4096kbcache_swap_low90cache_swap_high95 日志设置[plain]view plaincopyaccess_logd:/squid/var/logs/access.logsquid访问日志cache_logd:/squid/var/logs/cache.logcache_store_logd:/squid/var/logs/store.logemulate_httpd_logon 控制页面缓存内容[plain]view plaincopyrefresh_pattern^ftp:144020%10080refresh_pattern^gopher:14400%1440refresh_pattern-i(/cgi-bin/|\?)00%0refresh_pattern.020%4320refresh_pattern-i\.css$2050%120reload-into-imsrefresh_pattern-i\.xml$2050%120reload-into-imsrefresh_pattern-i\.html$2090%120reload-into-imsrefresh_pattern-i\.jpg$2090%120reload-into-imsrefresh_pattern-i\.png$2090%120reload-into-imsrefresh_pattern-i\.gif$2090%120ignore-reloadrefresh_pattern-i\.js$2090%120reload-into-imsrefresh_pattern-i\.htm$2090%120reload-into-ims 设置邮箱[plain]view plaincopycache_mgrwebmaster_breeze 设置本地主机文件[plain]view plaincopyhosts_filec:/windows/system32/drivers/etc/hosts7、安装服务 将squid安装为服务,命令格式:[plain]view plaincopysquid-i[-fconfigfile][-nservicename],如c:\squid\sbin\squid-i-nsquid_proxy8、初始化缓存目录[plain]view plaincopyc:\squid\sbin\squid-z9、启动squid_proxy服务 运行services.msc打开服务窗口,选择squid_proxy服务 ,如果启动过程出错90%是配置文件出现问题。10、squid命令[plain]view plaincopysquid-kreconfigure//启用新的配置文件squid-krotate//截断日志squid-kshutdown//stopsquidsquid-dx当服务不能启动时,进行调试更多配置请参见文档四、squid测试找一台机器进行测试,并查看access.log日志,如果出现 tcp_deny的信息,多为配置不正确。如出现如下信息tcp_mem_hit/200 表示,squid已经起作用,该请求是从 squid运行机器的内存中响应的。######################常用调试命令######################1、初始化你在 squid.conf 里配置的 cache 目录#squid/sbin/squid -z //第一次启动squid服务时必须输入此命令如果有错误提示,请检查你的 cache目录的权限。
2、对你的squid.conf 排错,即验证 squid.conf 的 语法和配置。
#squid/sbin/squid -k parse如果squid.conf 有语法或配置错误,这里会返回提示你,如果没有返回,恭喜,可以尝试启动squid。
3、在前台启动squid,并输出启动过程。
#squid/sbin/squid -n -d1如果有到 ready to server reques,恭喜,启动成功。然后 ctrl + c,停止squid,并以后台运行的方式启动它。
4、启动squid在后台运行。
#squid/sbin/squid -s这时候可以 ps -a 来查看系统进程,可以看到俩个 squid 进程。
5、停止 squid
#squid/sbin/squid -k shutdown这个不用解释吧。6、重引导修改过的 squid.conf
#squid/sbin/squid -k reconfigure
这个估计用的时候比较多,当你发现你的配置有不尽你意的时候,可以随时修改squid.conf,然后别忘记对你的 squid.conf排错,然后再执行此指令,即可让运行中squid重新按照你的squid.conf 来运行。
7、把squid添加到系统启动项
编辑 /etc/rc.d/rc.local添加如下行: /usr/local/squid/sbin/squid -s当然,并不是每个人都喜欢这种启动方式,你可以用你最习惯的方式;或者把它安装为服务。
其他
1、修改cache 缓存目录的权限。
#chown -r squid:squid /home/cache我的cache缓存目录是 /home/cache,squid执行用户和用户组是 squid,squid。
2、修改squid 日志目录的权限
#chown -r squid:squid /usr/local/squid/var/logs这一步并不是适合每一个使用squid的用户.意为让squid有权限在该目录进行写操作 。例如生成 access.log cache.log store.log
3、查看你的日志文档。
#more /usr/local/squid/var/logs/access.log | grep tcp_mem_hit该指令可以看到在squid运行过程中,有那些文件被squid缓存到内存中,并返回给访问用户。#more /usr/local/squid/var/logs/access.log | grep tcp_hit该指令可以看到在squid运行过程中,有那些文件被squid缓存到cache目录中,并返回给访问用户。#more /usr/local/squid/var/logs/access.log | grep tcp_miss该指令可以看到在squid运行过程中,有那些文件没有被squid缓存,而是现重原始服务器获取并返回给访问用户。关于 tcp_xxxx 等参数及代表的信息,请参看彭勇华《squid中文权威指南》13.2.1 章节。当然,本例中的蓝色文字是可以修改为其他的参数,例如你的域名,同样可以看到access.log里关于该域名的行。
4、squid -k rotate 轮换squid的日志文件/var/log/squid,squid代理服务器日志文件的增长速度是惊人的,很容易点球满磁盘空间导致系统不能正常工作,甚至是死机.为了解决日志文件增长太快的问题,squid采用了轮换的方法.在squid.conf中可以通过logfile_rotate来设置文件轮换的个数,如:logfile_rotate 10 ,轮换的工作一般用crontab定时器完在周期性的日志轮换,例如每周六凌晨2:00进行日志轮换,则执行如下命令: crontab -e0 2 * * 6 squid -k rotate小贴士:squid默认的错误提示信息为英文,对于英文不好的用户来说,实在不方便.在/etc/squid/squid.conf里添加如下:error_directory /usr/share/squid/errors/simplify_chinese 即可显示中文的错误提示。
http://www.bkjia.com/phpjc/1127279.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1127279.htmltecharticlewindows上使用squid搭建代理服务器 本文中squid放在172.20.65.201的机器上,应用web server ip为172.20.65.203,其中squid在201上的80端口侦听,测试客户端...
