Linxu系统:centos 7 64位(最小安装)
squid版本:3.5.27
# 用yum安装依赖包
[root@localhost tmp] yum install -y perl gcc*autoconf automake make sudo wget libxml2-devel libcap-devel libtool-ltdl-devel
# 切换到普通用户
[soft@localhost tmp] su soft
# 下载squid的tar包
-rw-r--r--. 1 soft soft 4837850 Feb 14 21:57 squid-3.5.27.tar.gz
# 解压tar包
[soft@localhost tmp]$ tar -xvf squid-3.5.27.tar.gz
# 进入解压后的tar包中
[soft@localhost tmp]$ cd squid-3.5.27
# 配置squid
[soft@localhost squid-3.5.27]$ ./configure --prefix=/home/soft/apps/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
# 编译安装
[soft@localhost squid-3.5.27]$ make && make install
# 进入安装路径 启动squid
[soft@localhost squid-3.5.27]$ cd /home/soft/apps/squid/sbin
[soft@localhost sbin]$ ./squid
# 更多命令 可以使用 --help查看
编译项注释
--prefix=/home/soft/apps/squid:指定软件安装位置
--sysconfdir=/etc:指定配置文件安装路径
--enable-gnuregex:支持GNU正则表达式
--enable-icmp:支持icmp
--enable-snmp:支持snmp,此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测
--enable-default-err-language="Simplify_Chinese" :指定出错时显示的错误页面为简体中文
--enable-kill-parent-hack:关闭squid时,连同其父进程一起关闭
--enable-cache-digests:加快请求时,检索缓存内容速度
--enable-underscore:允许解析的URL中出现下划线(squid默认带下划线的URL非法并拒绝访问)
--enable-poll:指定使用poll()函数
--enable-async-io=240:异步I/O,用以提升存储性能
--enable-arp-acl:可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗
--enable-delay-pools:开启squid延时池功能。延时池是squid用于传输形状或带宽限制的技术。
该池由大量的客户端IP地址组成。当来自这些客户端的请求处于cache丢失状态,他们的响应可能
会被人工延迟
--enable-follow-x-forwarded-for:当一个请求被另一些代理服务器转发时通过从http头中寻找X-Forwarded-For来发现直接或间接的客户端IP地址
--with-large-files:开启大文件支持
--with-default-user=squid:设置默认用户