linux的专业学习已经有1年,从接触感兴趣自学到现在,慢慢的感觉学习曲线由陡放缓很多了,但还是很艰巨。很庆幸我选择了这条路并坚持了这么久。 相信我会继续更加努力的去学习提升。~~~~

SQUID

proxy
squid

web1 httpd

curl 192.168.4.5

web 正向代理: IP伪装 ×××(访问无法访问的内容哦.~^o^~) 反向代理: 加速网站访问速度

客户端--->代理服务器--->服务器

squid 可做正反向代理

软件包:squid-3.3.8-26.el7.x86

系统服务:squid

主程序:/usr/sbin/squid

默认监听端口号:TCP 3128

默认日志:/var/log/squid/access.log

主配置文件:/etc/squid/squid.conf visible_hostname www.baidu.com #要代理的网站名字 access_log /var/log/squid/access.log squid cache_mem 64 MB

默认访问日志:/var/log/squid/access.log

反向代理的配置 service httpd stop # 把占用80端口的服务关掉 vim /etc/squid/squid.conf http_access allow all

http_port 80 vhost
visible_hostname www.test.com

cache_peer 192.168.2.1 parent 80 0 originserver	#要代理的服务器的地址

cache_dir ufs /var/spool/squid 200 16 256
# ufs-储存格式 目录空间100MB 一级子目录16个 二级子目录256个

coredump_dir /var/spool/squid

启动 systemctl start squid



Varnish服务器 是一款高性能开源的反向代理服务和http加速器 与传统的Squid相比,Varnish具有性能更高、速度更快、管理更方便等优点。

Varnish的安装 # yum -y install gcc readline-devel pcre-devel # useradd -s /sbin/nologin varnish # tar -xf varnish-3.0.6.tar.gz # cd varnish-3.0.6 # ./configure --prefix=/usr/local/varnish # make && make install # cp redhat/varnish.initrc /etc/init.d/varnish # cp redhat/varnish.sysconfig /etc/sysconfig/varnish # cp redhat/varnish_reload_vcl /usr/bin/ # ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/ # ln -s /usr/local/varnish/bin/* /usr/bin # mkdir /etc/varnish # cp /usr/local/varnish/etc/varnish/default.vcl /etc/varnish/ # uuidgen > /etc/varnish/secret

快速部署Varnish

/etc/varnish #配置文件目录 /etc/init.d/varnish #varnish的启动程序 /etc/sysconfig/varnish #配置文件varnish定义自身属性(前端配置) VARNISH_VCL_CONF=/etc/varnish/default.vcl #vcl文件路径 VARNISH_LISTEN_PORT=80 #默认端口 VARNISH_SECRET_FILE=/etc/varinsh/secret #密钥文件 VARNISH_STORAGE_SIZE=64M #缓存大小 VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" #malloc 基于内存 file 基于硬盘

/etc/varnish/default.vcl #varnish定义后端节点

/usr/bin/varnishadm #客户端程序 /usr/bin/varnishstat #监控状态

vim /etc/varnish/default.vcl backend default { .host = "172.25.0.1"; .port = "80"; }

缓存管理 varnishadm -T 192.168.1.1:6082 -S /etc/varnish/secret ban.url / #清除所有缓存 # ban.url #清除缓存的命令支持正则 varnishadm ban.list #查看缓存清理列表

varnish日志 varnishlog [-w file] #共享内存的日志(程序自身的) varnishncsa [-w file] #类Apache日志(记录外部访问)

varnishstat状态的关键词

Client connections accepted:客户端成功发送连接总数

Client requests received 客户端发送HTTP请求总数

Cache hits 命中缓存次数 #######重要#########

Cache misses 缓存非命中的次数 #######重要#########

关闭varnish killall varnishd netstat -anptu | grep :80