Squid采用新方案部署的调整步骤
一,隔离
二,修改
三,验证
四,波及
==============================
[1] 把被引用到的待修改对像实例,从前端应用负载nginx的配置中摘出

比如cdn节点XX截止2014-10-10,对外提供服务的2个节点是111.222,111.223
登录上述2台主机,修改nginx配置文件,注释掉引用到待修改对象主机111.225的内网地址172.0.0.X行。
.../sbin/nginx -t
.../sbin/nginx -reload

[2] 在对像主机上检查已经没有生成新的连接
在待修改节点上如:111.225上,查看nginx日志 ,如果不直接对提供服务的话,也可以查看squid日志
由于squid日志太大,一般不配置;
所以也可以直接查看当前连接:
# nempptat -an | grep 61

[3] 创建一个自动编译的脚本(注意,使用的版本是本公司在官方2.7基础上修改后的)

以下引用tongshi创建的范例:
#!/bin/bash

squid_install_dir='/usr/local/xiangmu/'
squid_insance=(squid1 squid2 squid3)
squid_package='/root/squid-2.7.tar.gz'
squid_tar_dir='/root/squid-2.7.本公司-modified/'

if [ -e $squid_package ]; then
tar -xzvf $squid_package
else
echo "squid don't exismpp"
fi

if [ -e $squid_tar_dir ]; then
cd $squid_tar_dir
for squid in ${squid_insance[@]}
do
echo $squid
./configure --prefix=/usr/local/xiangmu/$squid --enable-storeio=ufs,aufs,coss --disable-wccp --disable-wccpv2
make
make install
make clean
done
fi

[4] 停止旧有的squid实例,删除旧有的cache目录,重建新规划的cache目录;

# /usr/local/xiangmu/squid/sbin/squid -h
-k reconfigure|rotate|shutdown|interrupt|kill|debug|check|parse
Parse configuration file, then send signal to
running copy (except -k parse) and exit.

# /usr/local/xiangmu/squid/sbin/squid -k shutdown

查看既有的配置文件,注意到有如下段落:
cache_mem 6192 MB
50 cache_dir aufs /data/sto/ca 5000000 16 256
51 cache_dir aufs /data/sto2/ca 5000000 16 256

[/@wo ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 95G 76G 15G 74% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
/dev/sdb1 9.0T 711G 8.1T 8% /data/sto1
/dev/sdb2 11T 6.6T 4.0T 63% /data/sto2

准备做新的规划:

在sto1,sto2中 创建新的子目录如:cache1,cache2,cache3; 并删除原有缓存目录cache;

[5] 修改新方案(其中3个是新编译的squid)中squid的详细配置如下:

修改到新端口,共计3处:
acl Safe_pormpp port 74 # http
acl Safe_pormpp port 8074 # http

acl accel_80 myport 74
acl accel_8080 myport 8074

http_port 74 http11 accel vhost vport
http_port 8074 http11 accel vhost vport

修改访问主机名称(注意多个squid实例之间该值唯一)
visible_hostname hostname-2

修改内存缓存值,本地磁盘缓存路径以及空间值

cache_mem 1024 MB
cache_dir aufs /data/sto2/ca3 2000000 16 256

[6] 重新初始化squid;给suqid下var中logs目录授权为777权限;并启动squid实例
squid2/sbin/squid -z
# /usr/local/xiangmu/squid2/sbin/squid -z

[/@wo var]# pwd
/usr/local/xiangmu/squid3/var
[/@wo var]# ll
total 4
drwxrwxrwx 2 root root 4096 Oct 10 15:53 logs

squid3/sbin/squid
# /usr/local/xiangmu/squid3/sbin/squid

[7]验证新squid实例是否启动成功,TCP端口是否启动;查看当前squid信息;

[/@wo ~]# nempptat -nlp | grep squid
tcp 0 0 0.0.0.0:8061 0.0.0.0:* LISTEN 1072/(squid)
tcp 0 0 0.0.0.0:61 0.0.0.0:* LISTEN 1072/(squid)
tcp 0 0 0.0.0.0:8052 0.0.0.0:* LISTEN 1400/(squid)
tcp 0 0 0.0.0.0:52 0.0.0.0:* LISTEN 1400/(squid)
tcp 0 0 0.0.0.0:8093 0.0.0.0:* LISTEN 1424/(squid)
tcp 0 0 0.0.0.0:93 0.0.0.0:* LISTEN 1424/(squid)
tcp 0 0 0.0.0.0:8074 0.0.0.0:* LISTEN 1449/(squid)
tcp 0 0 0.0.0.0:74 0.0.0.0:* LISTEN 1449/(squid)
udp 0 0 0.0.0.0:51728 0.0.0.0:* 1400/(squid)
udp 0 0 0.0.0.0:55056 0.0.0.0:* 1072/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 1449/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 1424/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 1400/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 1072/(squid)
udp 0 0 0.0.0.0:60496 0.0.0.0:* 1424/(squid)
udp 0 0 0.0.0.0:41850 0.0.0.0:* 1449/(squid)

-----------
# cd /usr/local/xiangmu/squid
# watch -n 1 "bin/squidclient -p 61 mgr:info@本公司mima"
# /usr/local/xiangmu/squid/bin/squidclient -p 61 mgr:info@本公司mima

[8]
在节点本地,修改本地nginx.conf,vod80.conf中的配置信息
添加新的upstream和新的mpp文件分派规则
并验证新的配置文件
重新加载新配置文件
upstream si_0 {
server 127.0.0.1:61;
}

upstream si_1 {
server 127.0.0.1:52;
}

upstream si_2 {
server 127.0.0.1:93;
}

upstream si_3 {
server 127.0.0.1:74;
}

upstream vs9 {
server 127.0.0.1:61;
server 127.0.0.1:52;
server 127.0.0.1:93;
server 127.0.0.1:74;
}

----------
location ~ ^/uri(/.*) {
set $url $1;

if ($url ~ \.list) {
proxy_pass http://vs9$url$is_args$args;
}

if ($url ~ (0|1|2)\.mpp$) {
proxy_pass http://si_0$url;
}

if ($url ~ (3|4|5)\.mpp$) {
proxy_pass http://si_1$url;
}

if ($url ~ (6|7)\.mpp$) {
proxy_pass http://si_2$url;
}

if ($url ~ (8|9)\.mpp$) {
proxy_pass http://si_3$url;
}
}

# /usr/local/xiangmu/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/xiangmu/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/xiangmu/nginx/conf/nginx.conf test is successful
# /usr/local/xiangmu/nginx/sbin/nginx -reload

[9]
备份网卡配置文件,电话联系IDC机房客服,确认新IP地址的网关和掩码
修改外网网卡地址,并重启网络服务
在主控机上,或者跳板机上验证外网登录,访问。
(使用内网地址连上去)

[/@wo logs]# cd /etc/sysconfig/network-scripts/
[/@wo network-scripmpp]# pwd
/etc/sysconfig/network-scripts
[/@wo network-scripmpp]# ll ifcfg-eth*
-rw-r--r-- 3 root root 197 Oct 10 16:37 ifcfg-eth0
-rw-r--r-- 1 root root 197 Oct 10 13:36 ifcfg-eth0_New
-rw-r--r-- 1 root root 197 Oct 10 16:36 ifcfg-eth0.save.bak_2014-10-10
-rw-r--r-- 3 root root 171 Dec 7 2012 ifcfg-eth1

[10]
验证:
在本地修改hosts文件指向,在浏览器中尝试打开kids.本公司.com的视频
并查看nginx的日志,确认日志当中mpp文件和端口匹配

#ip s1.本公司.com
#ip dxlt2.本公司.com

115.194.125.194 - - [10/Oct/2014:18:37:46 +0800]
"GET / "-" "127.0.0.1:61"

113.99.6.61 - - [10/Oct/2014:18:37:45 +0800]
"GET "-" "127.0.0.1:74"

[11]
修改相关波及链条:
[12]
在dns中添加新地址77分配;

squid调整的更多相关文章

  1. 学习Squid(三)

    Squid 缓存服务 1.缓存服务器结束 缓存服务器(cache server),即用来存储(介质为内存及硬盘)用户访问的网页.图片.文件等等信息的专用服务器,这种服务器不仅可以使用户可以最快的得到他 ...

  2. LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

    方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...

  3. Squid代理服务器

    缓存代理概述:做为应用层的代理服务软件,squid主要提供缓存加速,应用层过滤控制的功能. 1.代理的工作机制 当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有 ...

  4. CDN网络(二)之配置和优化CDN核心缓存软件--squid

    前言 squid是众多CDN厂商使用的核心缓存软件,都在已有的基础上进行二次开发.在部署squid的时候,建议遵循下面的规范. 1. 使用大内存服务器 对于热点文件,我们让squid用内存缓存,这样大 ...

  5. squid 学习笔记

    Squid学习笔记 1.安装前的配置 编译安装之前需要校正的参数主要包括File Descriptor和Mbuf Clusters. 1.File Descriptor 查看文件描述符的限制数目: u ...

  6. squid日志配置与轮询

    squid日志分类及参数 SQUID默认的log文件非常多,其中最重要的LOG日志有三个,分别为access.log.store.log.cache.log.三个日志的记录的内容如下: access. ...

  7. Squid故障

    1.COSS will not function without large file support (off_t is 4 bytes long. Please reconsider recomp ...

  8. squid+nginx+apache

    一.前言 二.编译安装 三.安装MySQL.memcache 四.安装Apache.PHP.eAccelerator.php-memcache 五.安装Squid 六.后记 一.前言,准备工作当前,L ...

  9. 门户网站架构Nginx+Apache+MySQL+PHP+Memcached+Squid

    服务器的大用户量的承载方案 一.前言二.编译安装三. 安装MySQL.memcache四. 安装Apache.PHP.eAccelerator.php-memcache五. 安装Squid六.后记 一 ...

随机推荐

  1. 【Spring】19、spring配置数据源的4种方式

    不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源 ...

  2. 不固定个数组,进行一一对应的组合,js将多个数组实现排列组合

    var arr = [ ["a", "b"], ["1", "2"], ["d"] ]; var s ...

  3. React中使用styled-components的基础使用

    今天准备来给大家分享分享React中styled-components的基础使用,仅仅是我个人的一些理解,不一定全对,有错误还请大佬们指出,496838236这是我qq,有想指点我的大佬随时加我qq好 ...

  4. 【代码笔记】Web-ionic-按钮

    一,效果图. 二,代码.index.html文件如下所示. <!DOCTYPE html> <html> <head> <meta charset=" ...

  5. html/css学习笔记(一)

    ============================================================================================= 盒子模型 1 ...

  6. Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. MySQL四种隔离级别和MVCC

    事务在一个数据库中的地位尤为重要,尤其是高并发的场合.保证数据库操作的原子性和错误出现情况下的回滚,对数据的安全性和可靠性提供了保障.事务有四大原则,即ACID原则.网上关于这个问题的文章有很多,读者 ...

  8. recovery 升级过程执行自定义shell命令

    有时候我们需要,在升级的过程中,执行一些shell命令,来完成我们的一些需求,利用升级过程,进行一些特殊化的操作,思路如下: 第一: 把我们需要执行的命令,写成一个test.sh脚本,然后在recov ...

  9. OneAPM大讲堂 | 基于图像质量分析的摄像头监控系统的实现

    今天咱们要介绍的技术很简单,请看场景: 你在家里安装了几个摄像头想监视你家喵星人的一举一动,然而,就在喵星人准备对你的新包发动攻击的时候,图像突然模糊了.毕竟图像模糊了以后你就没法截图回家和喵当面对质 ...

  10. VirtualBox下安装CentOS7系统

    本文假定你已经知道如何安装VirtualBox虚拟机软件,并且已经安装好了. 首先我们需要准备好centos的iso镜像文件,可以从centos的官网下载. 以下操作使用的VirtualBox版本号是 ...