系统运输
squid服务的安装和简单使用
什么是squid
Squid是一种支持FTP、gopher、HTTPS和HTTP协议的高性能代理缓存服务器。 与普通代理缓存软件不同,Squid通过单独的非模块化I/O驱动进程处理所有客户端请求。
安装squid源包
地址http://www.squid-cache.org/versions /
tar zxvf squid-3.5.27.tar.gz
cd squid-3.5.27/
./configure
生成安装
squid配置文件
# aclallsrc0.0.0/0.0.0and http _ accessallowall选项定义访问控制列表。 详情请参照和Squid软件
#要携带的文档。 在此访问控制列表中,代理加快了web服务器的速度,因此允许对代理服务的所有访问。
acl all src 0.0.0.0/0.0.0.0 #允许所有IP访问
acl manager proto http #manager url协议是http
acllocalhostsrc 127.0.0.1/255.255.255.255 #允午本地IP
acl to_localhost dst 127.0.0.1 #允午目标地址为本地IP
acl Safe_ports port 80 #允许安全更新的端口是80个
acl CONNECT method CONNECT #请求方法是CONNECT
http_access allow all #允许所有人使用此代理。 因为这里代理会加快web服务器的速度
http_reply_access allow all #允许所有客户端使用此代理
acl OverConnLimit maxconn 16 #允许每个IP最多16个连接,***
http_access deny OverConnLimit
icp_access deny all #禁止从邻居服务器缓冲区发送或接收ICP请求。
miss_access allow all #允许您直接更新请求
ident_lookup_access deny all #禁止lookup检查dns
http_port 8080 transparent #指定浏览器接收客户请求的Squid的端口号。
hierarchy_stoplist cgi-bin? #用于强制特定对象不被缓存,主要用于安全目的。
AclQueryURLpath_regexCGI-bin\\\?
cache deny查询
cache_mem 1 GB #是一个优化选项,增加此内存值有利于缓存。 应该注意的是:
#通常,如果系统有内存,请将此值设置为( n/) 3M。 现在是3G,所以这里是1G
fqdncache_size 1024 #FQDN高速缓存大小
maximum _ object _ size _ in _ memory 2mb #允许将最大的文件加载到内存中
memory _ replacement _ policyheaplfuda #动态使用最小的并将其移出内存缓存
cache _ replacement _ policyheaplfuda #动态使用最小的从硬盘cache移动
cache _ dirufs/home/cache 500032512 #高速缓存目录ufs类型使用的缓冲区值最大允许下午1000MB。
#32个一级目录,512个二级目录
max_open_disk_fds 0 #允许打开文件的最大数目,0是无限制的
minimum_object_size 1 KB #允许的下午最小文件请求体大小
maximum_object_size 20 MB #允许的下午最大文件请求体大小
cache_swap_low 90 #最小允许swap 90%
cache_swap_high 95 #最多可以使用95 %的swap
ipcache_size 2048 # IP地址缓存大小2M
ipcache_low 90 #最小允许ipcache使用swap 90%
ipcache_high 95 #允许ipcache使用swap 90%
access _ log/var/log/squid/access.log squid #定义日志保存记录
cache _ log/var/log/squid/cache.log squid
cache_store_lognone#store日志禁止
emulate_httpd_log on #创建一个访问记录,使Squid与Web服务器的格式相似。 如果您希望的话
#Web访问日志分析程序需要设置此参数。
更新refresh _ pattern.020 c 20 override-expire override-lastmod reload-into-im signore-reload # cache规则
ACL buggy _ server URL _ regex ^ http://. http://#只允许http请求
broken_posts allow buggy_server
aclapacherep _ header server ^ Apache #允许Apache编码
broken _ vary _ encodingallowapache
request_entities off #禁止非http标准请求,***
header_access header allow all #允许所有http标头
relaxed_header_parser on #不严格分析http标头。
client_lifetime 120 minute #最大客户连接时间120分钟
cache_mgr sky@test.com #指定在缓冲区发生问题时向缓冲区管理员发送警告消息的地址信息。
cache_effective_user squid #此处使用squid服务器作为用户squid
cache_effective_group squid
icp_port 0 #指定Squid用于从相邻服务器缓冲区发送和接收ICP请求的端口号。
#此处设置0是因为将Squid设置为内部Web服务的加速器
#所以不需要使用旁边服务器的缓冲区。 0无效
# cache_peer设置允许更新缓存的主机。 因为是本机,所以127.0.0.1
cache _ peer 127.0.0.1 parent 80 no-querydefaultmulticast-responder no-netd B- exchange
cache_peer_domain 127.0.0.1
hostname_aliases 127.0.0.1
error _ directory/usr/share/squid/errors/simplify _ Chinese #定义错误路径
always_direct allow all # cache不存在或不存在允许所有请求直接转发到原始服务器
ignore_unknown_nameservers on #禁用DNS查询,如果域名地址不同,则禁止访问
coredump_dir /var/log/squid #定义dump的目录
max_filedesc 2048 #最大打开文件说明
使用half_closed_clients off #时,Squid会在read不再返回数据时立即关闭客户端连接。
read不再返回数据可能是因为某些客户关闭了TCP发送的数据
#保持接收数据。 Squid无法分辨TCP的半封闭和完全封闭。
选中buffered_logs on #选项“buffered_logs”将稍微加快写入日志文件的速度,主要是为了实现优化特性。
天涯防盗锁,转嫁百度
acl tianya referer_regex -i tianya
http_access deny tianya
deny_info tianya
白杜阻止蜘蛛
aclbaidureq _ header user-agent baiduspider
http_access deny baidu
#限制同一IP客户端的最大连接数
acl OverConnLimit maxconn 128
http_access deny OverConnLimit
为了防止被用作HTTP代理,设定允许访问的IP地址
acl myip dst 222.18.63.37
http_access deny! myip
#允许本地管理
acl Manager proto cache_object
acllocalhostsrc 127.0.0.1222.18.63.37
http _ accessallowmanagerlocalhost
cachemgr_passwd 53034338 all
http_access deny Manager
#仅允许80端口代理
acl all src 0.0.0.0/0.0.0.0
acl Safe_ports port 80 # http
http_access deny! Safe_ports
http_access allow all
#Squid信息设置
visible _ hostname happy.swjtu.edu.cn
cache_mgr ooopic2008@qq.com
#基本设定
cache_effective_user squid
cache_effective_group squid
tcp_recv_bufsize 65535 bytes
#2.6的反向代理加速配置
cache _ peer 127.0.0.1 parent 80 no-queryoriginserver
#错误文档
error _ directory/usr/local/squid/share/errors/simplify _ Chinese
#单独使用,不使用该功能
icp_port 0
hierarchy_stoplist cgi-bin?
AclQueryURLpath_regexCGI-bin\\\? PHP.CGI.avi.wmv.RM.ram.mpg.mpeg.zip.exe
cache deny查询
aclapacherep _ header server ^ Apache
broken _ vary _ encodingallowapache
refresh_pattern^FTP:144020080
Refresh_Pattern^Gopher:144040
refresh_pattern . 0 20% 4320
cache_store_log none
PID _ filename/usr/local/squid/var/logs/squid.PID
emulate_httpd_log on
我的构成如下。
请最关注区域访问
squdi启动
#squid通用命令
初始化用squid.conf配置的cache目录
squid -z
如果收到错误消息,可以验证cache目录的权限并更改目录的权限
chown -R squid:squid /cache目录
2调试squid.conf,验证squid.conf的语法和配置
squid -k parse
如果squid.conf中存在语法或配置错误,此处将返回提示。 如果不返回,请尝试启动squid
3前台启动squid,输出启动流程
/usr/local/squid/sbin/squid-n-D1
如果有关于ready to server reques的信息,表示squid启动成功
然后停止ctrl c、squid,并启动其在后台执行
启动squid并在后台运行
squid -s
您可以使用ps -ax | grep squid验证squid进程是否存在
停止squid
squid -k shutdown
6重新启动更改后的squid.conf
squid-k reconfigure-f/XXX/squid.conf
squid配置更改后,可以使用此命令重新加载squid配置
7在系统启动项目中添加squid
vim /etc/rc.local
/usr/local/squid/sbin/squid -s
更改缓存目录的权限
chown -R squid.squid /cache目录
高速缓存目录根据自己的构成进行变更,squid用户和组为squid、squid
更改squid日志目录的权限
chown -R squid.squid中定义的日志文件所在的目录
此步骤并不适合所有使用squid的用户,这意味着squid有权在该目录中写入
9查看你的日志文档
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中。
执行服务
# /usr/local/squid/sbin/squid -z
启用配置文件(必须在更改配置文件后运行) )。
//usr/local/squid/sbin/squid-k parse
作为后台进程启动squid
# /usr/local/squid/sbin/squid -s
面临的问题
错误:无前台-专业版配置。
解决办法: https://www.cn blogs.com/alone sword/p/4090827.html
warning:cannotwritelogfile:/usr/local/squid/var/logs/cache.log
/usr/local/squid/var/logs/cache.log:permission denied
messageswillbesentto\\\&; quot; stderr\\\&; quot;
解决办法: chmod-r777/usr/local/squid/var/logs
推荐参考文章:
squid权威中文指南3359 www.phpfans.net/manu/squid /
squid配置指南: http://www.phpfans.net/manu/squid
配置要编译和安装squid3.0的透明代理http://blog.Sina.com.cn/s/blog _ 517 e 2e 1b 0100 a P1 v.html
quid介绍及其简要配置: https://blog.51cto.com/Linux me/372960
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn