squid反向代理多个网站安装笔记
rpm -qa | grep squid
看好相关的包,主要是版本号
再用
rpm -e squid-XXXXX
卸载
编译安装Squid
下载:wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE13.tar.bz2
tar jxf squid-2.6.STABLE13.tar.bz2
cd squid-2.6.STABLE9
由于Squid对系统硬件要求比较高,所以我们安装的时候应尽量优化。
代码:
#groupadd squid
#useradd squid
添加suqid用户和用户组
代码:
#export CFLAGES='-O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2'
可以根据你的CPU选择相应的参数
GCC-3.1以上可針對CPU最佳化:
代码:
Pentium2: -O2 -mcpu=i686 -march=i686 -mmmx
Pentium3: -O2 -mcpu=pentium3 -march=pentium3 -mmmx -msse
Pentium4: -O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2
--enable-storeio="aufs,coss,diskd,ufs" --enable-useragent-log
--enable-referer-log --enable-kill-parent-hack --enable-forward-log
--enable-snmp --enable-cache-digests
--enable-default-err-language=Simplify_Chinese --enable-poll
--enable-removal-policies="heap,lru" --enable-large-cache-files
--disable-internal-dns --enable-x-accelerator-vary
--enable-follow-x-forwarded-for --with-large-files
--disable-ident-lookups --enable-underscore --disable-arp-acl
我个人安装软件都比较喜欢用源码包自己编译,觉得这样知道你自己在做什么,用rpm包好像不知道做什么的就安装好了。下面我们对各个编译参数进行解释,当然你可以通过./configure --help来查看其他的参数,以及各个参数的英文解释。
--prefix=/usr/local/squid :指定软件的安装路径
--enable-gnuregex :由于Squid大量使用字符串处理做各种判断,加入此项能更好的处理。
--enable-async-io=80 :这个主要是设置async模式来运行squid,我的理解是设置用线程来运行squid,如果服务器配置很不错,有1G以上内存,cpu使用SMP的方式的话可以考虑设成160或者更高。如果服务器比较糟糕就根据实际情况设了。另外此项还另cache文件支持aufs
--enable-icmp :加入icmp支持
--enable-kill-parent-hack :关掉suqid的时候,要不要连同父进程一起关掉,这个当然要啦
--enable-snmp :此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP接口。
--disable-ident-lookups :防止系统使用RFC931规定的身份识别方法。
--enable-cahce-digests :加快请求时,检索缓存内容的速度。
--enable-arp-acl :可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。
--enable-err-language="Simplify_Chinese" 和
--enable-default-err-languages="Simplify_Chinese" :指定出错是显示的错误页面为简体中文
--enable-poll :应启用Poll()函数而不是select()函数,通常而言poll(轮询)比select要好,但configure(脚本程序)已知Poll在某些平台下失效, 若你认为你比configure编译配置脚本程序要聪明的话,可以用这个选项启用Poll。总之就是用这个可以提升性能就是啦。
--enable-linux-netfilter :可以支持透明代理
--enable-underscore :允许解析的URL中出现下划先,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址。
http_port 80 accel vhost vport
cache_mem 100 MB
cache_swap_low 75
cache_swap_high 98
emulate_httpd_log on
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h"
access_log /opt/web-squid/var/logs/access.log combined
redirect_rewrites_host_header off
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
cache_effective_user squid
cache_effective_group squid
cache_peer aaa.abc.com parent 80 0 no-query originserver
cache_peer bbb.abc.com parent 80 0 no-query originserver
cache_peer ccc.abc.com parent 80 0 no-query originserver
cache_peer_domain aaa.abc.com aaa.abc.com
cache_peer_domain bbb.abc.com bbb.abc.com
cache_peer_domain ccc.abc.com ccc.abc.com
cache_replacement_policy lru
cache_dir aufs /opt/web-squid/cache1 5000 32 64
cache_dir aufs /opt/web-squid/cache2 5000 32 64
cache_log /opt/web-squid/var/logs/cache.log
cache_store_log none
cache_swap_log /opt/web-squid/var/logs/swap.log
log_ip_on_direct on
- 最新评论
