要命的刷新

22 Apr 2010 Posted in  CDN

今天一天都在跟刷新做斗争。 先是squid的目录刷新,用/home/squid/bin/squidclient -p 80 mgr:objects|awk ‘/harbin/{system(“/home/squid/bin/squidclient -p 80 -m purge “$2}’刷新一遍;客户反馈看到的依然是旧页面;我想想似乎看到url里有带()的,awk的system函数这时候会出错;于是改成用for i in /home/squid/bin/squidclient -p 80 mgr:objects|awk '/harbin/{print $2}';do /home/squid/bin/squidclient -p 80 -m purge “$i”;done再刷新一遍;然后自己绑定节点访问,居然也还看到是旧页面! 继续阅读……


sscanf用法

20 Apr 2010 Posted in  C

int sscanf( 继续阅读……


iscsi试验(读写测试)

15 Apr 2010 Posted in  linux

隔了一天,回头再来mount /dev/sda /mnt;成功了~ 不信邪,再上一台,login,mount,继续成功…… 难道是前天rp不行? 继续阅读……


apache防盗链(modperl试用)

15 Apr 2010 Posted in  web

客户需求如下: 继续阅读……


iscsi试验(失败,慎入)

12 Apr 2010 Posted in  linux

聊天时听同事提及iscsi。回来后借助百度和谷歌大概了解了一下是网络存储,就赶紧下了软件包作测试。 继续阅读……


客户页面小故障

10 Apr 2010 Posted in  CDN

今天接到客户电话,说,主页已经提交过了刷新任务,上面的图片已经更新,但点击图片后链接到的页面内容还是老的…… 仔细一看,原来主页里的html是这么定义的: 继续阅读……


url_rewrite_concurrency

08 Apr 2010 Posted in  squid

squid的重定向,我看网上一般都采用 redirect_children (即 url_rewrite_children)。估计是因为中文权威指南的原因吧。不过中文权威指南还是2.5版的时候出的。有些新东西没有。比如 squid.conf.default 中提供的另一种 url_rewrite_concurrency继续阅读……


date的一个怪问题

03 Apr 2010 Posted in  bash

今天看同事的一个备份脚本,在取昨天的日期时,采用了YESTERDAY_NAME=date -I -d'-1 day' +"%Y-%m-%d"的方法。 继续阅读……


lvs的activeconn与netstat的conn

02 Apr 2010 Posted in  linux

曾经有过一组高并发请求的服务器,在lvs上看到单台 activeconn 约等于 220000;同时,在RS上执行 netstat -s -t|grep "connections established" 结果大概是 65000,而 squidclient mgr:5min|grep client_http.requests 结果却只有 180。后来说起并发数的时候,有些茫然,到底哪个才算是呢? 继续阅读……


perl边学边练(purge脚本)

30 Mar 2010 Posted in  CDN

squid的purge,一般有两种方式,squidclient -m purge url或者http request (method)purge url。如果任务不太多的情况下,直接使用squidclient -p 80 -h 1.2.3.4 -m purge url即可。如果任务比较繁重的情况下,telnet80后直接发送purge请求稍微好一些。作为初学perl的练手,写一个purge脚本。如下: 继续阅读……


squid源站故障转向(终结篇)

28 Mar 2010 Posted in  CDN

因为这么一个想法,我陆陆续续的把squid很多功能都理了一遍,今天终于打算写个不完美的终结篇。而就在写这个终结篇的同时,公司里也已经开始把这批别扭的客户改往nginx平台加速了。 继续阅读……


zabbix_proxy部署

25 Mar 2010 Posted in  monitor

continue 继续阅读……


cacti优化

25 Mar 2010 Posted in  monitor

首先,采用spine代替cmd.php来采集数据。 下载与cacti相应版本的spine和补丁: 继续阅读……


cacti自建tcp80连接数监控

24 Mar 2010 Posted in  monitor

同样作为提供web服务的机器,因为不同业务的关系,除了流量以外,还需要参考TCP80连接数来分析服务器性能状况。下面就试试cacti对连接数的监控。 最简单的方法,利用snmpnetstat这个命令,自动搞定一切。cactiuser.org上提供一个现成的模板,只要import就能直接用。下载地址如右:http://www.iammecn.com/wp-content/uploads/2009/12/cacti_graph_template_snmp_connections.zip 继续阅读……


squid和nginx的error_page差别

24 Mar 2010 Posted in  CDN

nginx的error_page,有两个种办法。 继续阅读……


nginx的默认主机头问题

24 Mar 2010 Posted in  nginx

今天发现nginx做多域名混跑的proxy_cache时有一个小问题:当一个非加速server_name的请求到达的时候,nginx不会像squid那样返回一个ERR_DNS_FAIL,反而假装很正常的返回一个页面: 继续阅读……


fms3.5试用

21 Mar 2010 Posted in  CDN

flash和flex应该是现在网络上红到发紫的技术了,要flv不要tv,要sns不要bbs,连春晚节目都满嘴偷菜~~~我也试着用用fms3.5,一些基本搭建,过过瘾,免得自己太过OUT了。
fms是adobe的付费产品,不过不花钱买序列号,也可以用免费的开发版,限制是10个链接而已。上www.adobe.com注册一个帐号,就可以下载了。下载下来的zip中包含了win版的exe和linux版的tar.gz。网上教程大多是win的,不过不要紧,除了字符和图形,真正使用上没啥区别。
上传FlashMediaServer3.5.tar.gz到linux服务器上,解压开,./installFMS -platformWarnOnly,然后按提示,设定安装目录、管理员帐号密码、监听端口、是否安装自带的apache2.2.9,是否设为守护进程等,最后完成。
ps看看,已经有几个fms的进程了吧;netstat看看,也有1935/19350/1111端口的监听吧(前提是你没改),OK了。
注:这里有几个问题。如果install的时候,端口选择了默认的1935,80,而本身服务器上又开着httpd的80,就会有冲突;这时候关掉FMSHttpd是不够的,因为fmsedge也监听这80端口,需要在conf/fms.ini中,把SERVER.HTTPD_ENABLED设为false,再删除ADAPTOR.HOSTPORT里的80,然后/etc/init.d/fms restart,这样就可以了。 继续阅读……


zabbix安装试用

18 Mar 2010 Posted in  monitor

在CU上看到有帖子比较各开源monitor软件,其中对zabbix颇多赞誉。决定试用一下。 继续阅读……


squid 灵异日志

17 Mar 2010 Posted in  squid

今天在 squid 服务器上,无意看到一个让我无比惊讶的访问日志,随后一统计,同样的日志居然还不在少数,…… 继续阅读……


consistent_hash的perl脚本模拟

16 Mar 2010 Posted in  web

#!/usr/bin/perl -w
use String::CRC32;

my $url = shift;
my @peer = ('10.13.12.14:80',
'10.13.12.15:80',
'10.13.12.16:80',
'10.13.12.17:80',
'10.13.12.18:80');
my $new = 9999999999;

my $sum = $#peer+1;
my $uricrc = crc32("$url",length($url));
for (my $i=0;$i<$sum;$i++) {
my $peercrc = crc32($peer[$i],length($peer[$i]));
my $res = $peercrc - $uricrc;
if ($res > 0 && $res < $new){
$new = $res;
$haha = "$i\t$new";
}
}
my @num = split(/\t/,$haha);
printf("%s cached at the %s peer by the key %010.0f.\n",$url,$peer[$num[0]],$uricrc);
_END_

测试如下: 继续阅读……


一致性哈希研究

15 Mar 2010 Posted in  web

今天继续看nginx的consistent_hash_module,因为想可能的话可以把url和对应的peer关系查出来,形成一个类似squidclient一样的方式。以下内容都是我从百度、谷歌、nginx模块应用指南和ngx_upstream_consistent_hash_module的src中自我理解得出的,欢迎指正。 继续阅读……


nginx泛域名cache_store

13 Mar 2010 Posted in  nginx

回到nginx的cache_store方式上来。这是传统的nginx缓存方式,配置一般如下: 继续阅读……


忽略大小写(nginx)

13 Mar 2010 Posted in  nginx

刚才发现使用perl_set忽略大小写,完全不用perl_module和perl_require那么兴师动众,同样也能达到不错的效果。比如这个用perl做伪静态路径的例子。随即就动手试验一下。 继续阅读……


忽略大小写(刚在nginx的maillist看到的)

13 Mar 2010 Posted in  nginx

想找找解决不同client请求中文url产生多份cache的办法,结果在nginx的maillist里看到也有人问《rewrite to lowercase?》下面有人回答了这个问题,做法和我一样~~呵呵。随后他也附上了这种做法的思路和问题。 继续阅读……


nginx日志(upstream)

11 Mar 2010 Posted in  nginx

作为一个web服务器,我们已经习惯了nginx的类apache日志,即$status。其实nginx的upstream模块下,带有几个变量,却是类squid日志的。他们是: 继续阅读……