squid3.5.5的编译安装

linux系统版本 执行cat /etc/issue,例如如下:

`[root@localhost ~]# cat /etc/issue`
> CentOS release 6.4 (Final) Kernel r on an m 

查看系统是64位还是32位:

> [root@localhost ~]# getconf LONG_BIT 
> 32

1.Squid是什么?

  Squid是一个单进程的异步代理缓存服务器,支持HTTP,FTP,GOPHER,ICP等协议。通过配置,可以实现反向代理、透明代理的功能,并且支持缓存,是实现高性能网站的必备基础设施之一;当前我主要研究透明代理者部分,写的不当的地方欢迎拍砖;

2.squid3.5.5手动编译和安装

yum install -y perl gcc*autoconf automake make sudo wget yum
install libxml2-devel libcap-devel yum install libtool-ltdl-devel

执行./configure:

./configure--prefix=/usr/local/squid --enable-gnuregex
--enable-icmp--enable-linux-netfilter --enable-default-err-language="Simplify_Chinese"
--enable-kill-parent-hack
--enable-cache-digests --enable-dlmalloc--enable-poll --enable-async-io=240
--enable-arp-acl--mandir=/usr/share/man/ --with-large-files

make&&makeinstall 到此为止,squid3.5.5已经安装到/usr/local/squid目录下了,运行

chmod 777 /usr/local/squid/var chmod 777 /usr/local/squid/var/logs
/usr/local/squid/sbin/squid -z /usr/local/squid/sbin/squid
可以通过

netstat -atunp | grep 3128

查看是否启动!!!

3. /usr/local/squid/sbin/squid命令行参数

-a port 同配置中的http_port
-f file 指定使用的配置文件,默认为/etc/squid/squid.conf
-k 此命令有多个选项,行为是重新加载配置,将选项发送给进程实例
reconfigure 重新载配置
rotate 切换日志
shutdown 关闭
kill 终止
check 检查
parse 分析日志
-s 将日志输出到syslog
-z 初始化缓存目录
-N 非daemon模式运行

4.squidclient有用工具

squidclient提供了管理和查看squid运行状态的方式。
-r url 重新加载指定url的缓存,即令历史数据失效
-m uri 删除指定的uri缓存,需要配置acl允许此操作,默认拒绝,注意只支持单个对象,一组对象,需要从access.log中查找过滤并使用此指令。清空所有cache的方法重命令原有cache目录,再启动squid生成新空缓存。
squidclient -p 3128 mgr:
info 列出了基础信息
mem 列出了内存使用
objects 列出了缓存列表
diskd 列出了磁盘使用情况

5.透明代理

此种方式不需要配置客户端的浏览器,只需要配置整个网络的出口的路由器或交换机,将流量按规则导入到squid上。

你可能感兴趣的:(squid)