您的位置:首页 > 运维架构 > 反向代理

关于升级squid2.5到2.6的内部操作手册(备用)

2015-02-09 00:00 866 查看
[Intersafe]如何平滑的将客户SQUID2.5升级到2.6版本进行升级?

作者:潜入技术的海洋
修改时间:2011年10月13日
创建时间:2011年09月22日
版本:3
希望本文档对你有所帮助,使用中有疑问请与我联系!
mailto:baoch8@163.com
目前intersafe关于SQUID升级的官方文档似乎没有,本文档可以作来未来升级SQUID时的参考文档。
如果重新安装INTERSAFE,我建议你直接安装SQUID2.6会更高版本,以避开因版本过低导致的问题!
认真看完本文章,必定达到事半功倍的效果! :)

# ------------------>测试站点:
# http://www.gd.csg.cn # http://www.cjol.com 招聘页面
# 更多,等待添加
# 若发现以上网站不能访问,请升级你的SQUID版本
# ------------------<

squid-2.6.STABLE23-1.i386_4intersafe.rpm安装时,没有信赖关系!
目前在客户环境中,安装在RHEL4.7/RHEL4.8均能正常使用!

#===========Change Log============================
# 2011年10月13日
# 客户反映无法打开http://www.gd.csg.cn
# 客户服务器版本:RHEL 4.7 AS
#
# 文档内容:
# 在RHEL4.7上安装squid-2.6.STABLE23-1.i386_4intersafe.rpm;

有可能出现的问题:
# 启动时发现提示:找不到/usr/local/squid/etc/mime.conf文件;

-->
# 原因:默认/usr/local/squid/etc/下有mime.default.conf文件,的确没有mime.conf
# 解决方法:
# cp mime.default.conf mime.conf

===========Change Log============================
2011年9月25日
客户反映无法打开http://www.cjol.com的招聘页面

客户系统版本: RHEL4.8 AS

更新内容:
编译、安装SQUID非常的麻烦,使用我本人专门制作的RPM包进行安装,减少安装与升级的复杂程度。适合多次部署!

安装后,关于SQUID的使用方法是一样的!
安装包的名字是:squid-2.6.STABLE23-1.i386_4intersafe.rpm

2011年9月22日
更新内容:使用编译安装的方法来升级SQUID版本
===========END==================================

本文档主要针对使用了SQUID 2.5版本进行平滑升级,升级的主要目的:

1、SQUID 2.5的版本对网站格式编码的支持有限,会造成部分网站无法打开。
现在以中国人才热线的网站(http://rms.cjol.com/default.asp)为例,如果使用了SQUID2.5版本作为代理软件,会打不开其网站的招聘页面;在不使用代理的情况下,用户能够正常访问该页面。其他网站暂未发现类似问题!

不能访问的原因:SQUID不支持网站的内容验编码、压缩方式!
解决方法:最直接的就是升级SQUID

2、squid2.6优化网络传输的缓存存储机制。
相同的配置文件,使用SQUID2.6速度上会有相应的提升!

本文升级方法理论上同样适用于SQUID2.7/2.9/3.1

整个升级SQUID经历以下六步:
a、获取SQUID
b、安装SQUID2.6的RPM版本
c、修改SQUID配置文件
d、启动SQUID2.6
e、平滑启用SQUID2.6
f、停止原RPM包的SQUID2.5

=========================================>分割线<============================
实际环境:
a、RHEL 4.8 AS
b、透明网桥
c、RPM包 SQUID-2.5-XXXX
d、Intersafe 3.1

一、安装SQUID 2.6 <新的安装方法>
[root@baocheng ~]# rpm -ivh squid-2.6.STABLE23-1.i386_4intersafe.rpm
Preparing... ########################################### [100%]
1:squid ########################################### [100%]

安装后所在的目录是:
[root@baocheng ~]# ll /usr/local/squid/
total 20
drwxr-xr-x 2 root root 4096 Sep 26 05:48 bin
drwxr-xr-x 2 root root 4096 Sep 26 05:48 etc
drwxr-xr-x 2 root root 4096 Sep 26 05:48 libexec
drwxr-xr-x 2 root root 4096 Sep 26 05:48 sbin
drwxr-xr-x 5 root root 4096 Sep 26 05:48 share

|===============================================>
|# ver1:旧的安装方法
|一、获取SQUID 2.6
|下载地址:http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE23.tar.gz
|# tar -xzf squid-2.6.STABLE23.tar.gz
|
|二、编译安装SQUID 2.6
|<可以使用squid-2.6.STABLE23-1.i386_4intersafe.rpm来取代以下安装方法>
|备注:在安装之前,请确认你的系统安装了相应的编译环境(如Gcc,automake等)
|#./configure --prefix=/usr/local/squid \
|--enable-gnuregex \
|--enable-storeio=ufs --enable-icmp \
|--enable-delay-pools --enable-snmp --with-maxfd=65535 \
|--enable-arp-acl --enable-ssl --enable-err-languages=English \
|--enable-epoll --enable-poll --enable-default-err-language=English \
|--enable-linux-netfilter --enable-cache-digests \
|--enable-auth="basic" --enable-basic-auth-helpers="NCSA,squid_radius_auth"
|# make && make install
|===============================================>

三、修改配置文件

# cat /usr/local/squid/etc/squid.conf
#配置文件中,具体的选项可根据实际需要进行修改!
================================>分割线<=====================
visible_hostname ryoyo_cheng
http_port 3129 #为了实现平滑升级,请不要将端口设置成3128,避免出现端口冲突,影响用户。
#http_port 3129 transparent #如果希望实现透明代理,请添加transparent 选项!!!
icp_port 0

acl all src 0.0.0.0/0
http_access allow all

cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/log/cache.log
cache_store_log none
cache_effective_user squid
cache_effective_group squid

cache_mem 128 MB
cache_dir ufs /cache 8000 16 256
cache_swap_low 90
cache_swap_high 93
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB

half_closed_clients off
logfile_rotate 5
client_lifetime 1 hour
forwarded_for off

# 为了跟Intersafe实现连接,将数据交给Intersafe过滤,请添加以下两行!!
redirect_program /usr/local/intersafe/bin/nfrdr start
redirect_children 5
=========================================================

四、启动SQUID
# /usr/local/squid/sbin/squid -Nd1 &

其他命令:
关闭SQUID
# /usr/local/squid/sbin/squid -k shutdown

更新配置文件
# /usr/local/squid/sbin/squid -k reconfigure

补充:凡是使用源码编译安装的程序跟操作系统关系不大。

五、平滑启用SQUID2.6

a、使用代理用户的模式:
因为是使用代理用户,客户端指定的端口与IP,所以没法平滑升级!
但操作过程中,会有短暂的几秒钟中断!如果命令行敲的快的话也不会感觉到中断!:)

b、使用透明网桥模式或网关透明代理模式:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3129
# iptables -t nat -D PREROUTING 1
这两步的操作,用户是不会有感觉到中断,并且现在使用的是SQUID2.6。

c、最后操作,将启动与iptables的内容加入到/etc/rc.local里。
完成以上操作即可实现平滑升级!

六、关闭原RPM包的squid2.5版本
备注:如果确认squid 2.6已经正常工作了,可以选择停掉或是删掉squid2.5
停止SQUID2.5
# chkconfig squid off
# service squid stop

删除SQUID2.5
# rpm -e squid-2.5XXXXX

七、其他相关
完成以上测试后,可以确认一下intersafe的日志情况,经过我本人的测试,完成以上操作后,不影响squid与intersafe日志的记录写入。

--->全文完<--- :)

本文出自 “潜入技术的海洋” 博客,请务必保留此出处http://myhat.blog.51cto.com/391263/671482
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息