Category Archives: linux
参加mongodb workshop
29号,星期六,参加了在ThoughtWorks办公室举行的mongodb workshop。 主讲者Peter Membrey,是个年轻有为的牛人,17岁就获得了RHCE。 这是一个很小团体的技术会议,人数没有超过20人,来参加的都是有名气的牛人们。会上认识了腾讯超群大侠(还不忘记为他们招聘挖人吼一声),以及甲骨文的黄秋大侠(给人很文雅的感觉:)),以及来自鲜果和新浪的两位大侠(sorry,两位都没带名片,叫不上名字来~hoho~) Peter的讲话是全英文的,只能听懂一半,另一半完全靠ppt上的内容。。。不过并不妨碍我们交流~~ ThoughtWorks的办公室是非常nice的。。。有图有真相。。。(图从网上找的,忘记现场拍照了) 这是厨房 有点吧台的样子 这是书架,沿着边上全是 这是办公的地方,没有格子 另外,创建了一个group,欢迎对no-sql架构有兴趣一起进行深入探讨的同志加入 http://groups.google.co.nz/group/dynamo_china 目前已经看到豆瓣的洪强宁大侠加进来了,更多的大侠正在加入中。。。
分享一个批量扫描ip地址的shell内涵脚本
内涵前言 假如您在维护上千台服务器,然后通过www.xxx.com发现打不开,然后有部分用户又说是可以打开的,现在要做的事情是找出来哪个机器可以用。 内涵第一章 检查原理 有许多DNS反查的网站,可以反查你的域名的相关ip地址,然后把这些ip地址循环ping,有返回结果的说明那个服务器可用。比如说just-dnslookup等等网站。具体可以在网上找找。 内涵第二章 检查操作 在准备好数据后,将结果复制到脚本文件中的temp文件中,然后修改54chenPing.sh中的第二行,将awk中的$3修改为你的数据对应的列数。比如说你复制的内容的第三列的话就写$3,第四列就写$4。 内涵第三章 执行 #sh 54chenPing.sh 然后会有结果输出,持续输出返回结果的一个或者多个ip即是可用的服务器。 内涵第四章 代码 #!/bin/sh cat temp | awk '{print $3}' > ip.txt FLIST="`cat ip.txt|grep -v "#"`" for FILE in `echo "${FLIST}"` do ping ${FILE}> tmp/${FILE}.txt& done tail -f …
[更新]ubuntu 10.04 硬盘安装手记
在过去的两年里,ubuntu发展迅速,快速成为了技术人员居家工作旅行必备系统。54chen从8.04开始从fc系列(RH的后续个人系统)换到ubuntu来使用,期间连续发布了多篇使用ubuntu各个版本的安装和使用手记。54chen作为互联网最早的ubuntu"义务推广员",一路看到了ubuntu队伍的发展和壮大。 安装的记录: ubuntu 8.10 desktop版本 硬盘安装手记 [十一归来]ubuntu 9.10 硬盘安装手记 还有许多配置相关的手记。 10.04的发布:2010年4月29日(看上去是这样的,四月份发布的都是长期支持的版本,后缀里有一个LTS的标识,同时4月份出的版本往往也是没有啥巨大动作的。) 根据官方总结,Ubuntu 10.04中将会具有以下全新特性: 快速启动:在几乎所有机型上的启动速度都明显更快,在使用固态硬盘(SSD)的笔记本电脑或者上网本等机型上的速度超快。这意味着用户可以开机后立即进入浏览器,快速访问网站。 起点社交:Ubuntu 10.04LTS桌面版新的“Me Menu”(我的菜单)整合了社交网站如Facebook、Digg、Twitter和Identica,使得各个网站的登录和个人信息更新一次完成。 Me Menu的聊天软件,支持同时登录QQ、MSN、Google Talk等多个应用程序,和朋友或者同事聊天。(没有出现本土化的SNS和微博,墙干净了,没啥用) Ubuntu One:增强的在线服务桌面整合功能意味着用户可以更容易地使用云端服务存储、分享和同步文件及文件夹、浏览器书签和通讯录,使得从个人计算机
发布一个简单的ssh-twitter客户端
ssh-twitter是一个使用命令行运行的twitter客户端,具有常见的一些功能。 您的linux系统需要满足以下环境条件: perl (5.8+) LWP::UserAgent扩展 项目主页 中文使用说明文档 >点击此处下载(4.08K)点击此处下载(4.08K
闲谈分布式key-value存储服务nuclear及其他
现在很多国内公司都纷纷开始了key-value的nosql存储方式,然而,从什么时候开始key-value会变得这么流行呢?是风靡一时,还是顺应时代的潮流?前后数一数,有豆瓣网的beandb、有新浪的SDD、小道消息还有腾讯的TDB以及人人网的nuclear。再数国外,吹起这阵风的原因是亚马逊的一篇文档,这篇文档讲述了在亚马逊的S3服务中所使用的存储系统dynamo实现方式,但遗憾的是dynamo并不开源。紧随其后,facebook来了位号称是当年亚马逊dynamo的开发人员之一的同志,实现了facebook的cassandra,并且值得表扬的是还将其开源了。与此同时,相同理论下产生的,还有linkedin的voldemort系统。 百家争鸣还是百家讲坛 分布式存储的目标,是解决大规模数据在数据量不断增长的情况下,让服务更加稳定,更容易扩展。 其主要具备以下几个特点: 1.高可靠性:系统能够长时间高效运行不迭机。严格的说即使坏了一部分机器也没事。 2.可扩展性:可以随意增加减少机器,不用担心额外的数据损失。 3.负载均衡:要保证每个节点的数据都是负载均衡的,不出现集中负载到一个节点的情况。 4.一致性:因为是分布式的节点,就需要保证节点与节点之间保存数据的一致。 鱼与熊掌不可兼得,这几点,往往完成了其中几点就会损失另外一点,要全部达到完美,是一件非常困难的事情。 在国内的几个存储来看,基本都是只实现了其中的一部分,再按照自己业务的需求,来加强其中更为关心的建设。 beansdb的最终一致性通过哈希树实现快速完整数据同步(短时间内数据可能不一致);可以在不中断服务的情况下进行容
如何让squid 2.6.STABLE21输出Content-Encoding: gzip
问题描述: 一个WEB服务器,跑nginx 0.6。前端一squid 2.6代理。用户访问先经过squid。 现需要squid服务器输出gzip压缩。 问题解决方案: 原来的nginx已经支持gzip,修改或者增加nginx.conf中内容(打开nginx的gzip支持附后): gzip_http_version 1.0; gzip_vary on; add_header Vary Accept-Encoding; 清空原来的squid对应的缓存,新缓存即是带了gzip的header。 参考文献: http://wiki.nginx.org/NginxHttpGzipModule 附录: 如何打开gzip,【优化php\nginx】 一段。
PHP-FPM配置sendmail支持PHP发信
当下常用的环境CentOS+nginx+php-fpm+mysql. 之前五四陈科学院曾有一文章是介绍环境的配置的,挖一挖水,链接在这里: wordpress nginx php-cgi mysql在128m内存下的vps安装和优化手记[原创] 如果要使用mail功能,需要按如下步骤操作: 第一步、安装sendmail yum install sendmail 第二步、启动sendmail service sendmail start 第三步、设置为auto start chkconfig sendmail on 第四步、修改php-fpm.conf: 搜索sendmail,去掉那一行两头的注释如下: <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> 第五步、php-fpm reload
分享一个固定时间自动更新svn的简单shell脚本
这是一个超级简单的脚本,旨在提醒观众:在crontab最小精度只能到1分钟的情况下,可以使用这个作到1秒钟的间隔执行时间。 看代码: #!/bin/sh while true do /usr/bin/svn up /data/web/club/ #(指定的要更新的目录) sleep 5 done 原理很简单,利用shell中sleep的单位为秒作自动执行,如果要更加小的精度,估计可以利用这个基础之上多个同时执行:) 仅猜想,标准一些的作法还是用java或者是php的sleep(毫秒级的)。
人人网海量存储系统Nuclear介绍
经过这几个月大家共同的努力,Nuclear终于来到新的阶段。 山寨版本的Logo Nuclear存储系统:高性能、高可靠、可扩展的海量数据存储 请移步人人网UGC团队博客:http://ugc.renren.com/2010/01/21/ugc-nuclear-guide-use/ 人人网UGC团队博客正式在科学院亮像,欢迎网友订阅,专注UGC社区大负载研究与应用! http://ugc.renren.com http://ugc.fm 下面是一些补习班知识: TC Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。当做为Hash表数据库使用时,每个key必须是不同的,因此无法存储两个key相同的值。提供了以下访问方法:提供key,value参数来存储,按 key删除记录,按key来读取记录,另外,遍历key也被支持,虽然顺序是任意的不能被保证。这些方法跟Unix标准的DBM,例如GDBM,NDBM 等等是相同的,但是比它们的性能要好得多,因此可以替代它们。 Dynamo Dynamo 的可扩展性和可用性采用的都比较成熟的技术,数据分区并用改进的一致性哈希(consistent hashing)方式进行复制,利用数据对象的版本化实现一致性。复制时因为更新产生的一致性问题的维护采取类似 quorum 的机制以及去中心化的复制同步协议。 Dynamo 是完全去中心化的系统,人工管理工作很小。 Linkedln Link
PHP上传文件类型彻底判断方案及PHP+nginx上传大小彻底控制方案
上回科学院发过一篇讲述上传判断的文章,位置是 PHP JAVA C上传文件如何准确判断文件类型-mime知识普及 本文目的在于,进一步更正前文所述的mime判断方式,以及增加一个nginx环境里的文件上传大小所影响的代码。 上传类型控制: 在我(54chen)工作中发现,其实修改文件的后缀,浏览器就会很傻瓜地传送错误的mime类型,所以前文的判断是一个半错误的方法(除了C代码是正确的)。 网上流传一段PHP读取文件头判断文件类型的方法,有一些bug,经我(54chen)修改实测,应该是这个样子: /** * 读取文件前几个字节 判断文件类型 * * @return String */ function checkTitle($filename) { $file = fopen($filename, "rb"); $bin = fread($file, 2); //只读2字节 fclose($file); $strInfo = @unpack("c2chars", $bin); $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); $fileType = ''; …
SEARCH
Update
- 54chen Twitter memo 2012-02-12
- 人肉解析riak_admin join
- go语言安装手记
- 54chen Twitter memo 2012-02-05
- Riak Core说明
- maven库nexus拖不到jar包小记
- 服务接入层小结
- 54chen Twitter memo 2012-01-15
- nginx防hashdos模块使用帮助
- 54chen Twitter memo 2012-01-08
- nginx防hashdos模块释出
- 54chen Twitter memo 2012-01-01
- 水煮鱼杯2011年度不得不总结的十件事
- 年终攻击hashDos-哈希表多碰撞实现拒绝服务-破解办法
- 54chen Twitter memo 2011-12-25
