坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Category Archives: linux

linux qq的问题,ubuntu的问题,linux常用命令的问题,都在这个分类里能找到解答.

发布一个简单的ssh-twitter客户端

ssh-twitter是一个使用命令行运行的twitter客户端,具有常见的一些功能。 您的linux系统需要满足以下环境条件: perl (5.8+) LWP::UserAgent扩展 项目主页 中文使用说明文档 >点击此处下载(4.08K)点击此处下载(4.08K

Continue reading

Posted in linux | Tagged | 3 Comments

闲谈分布式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的最终一致性通过哈希树实现快速完整数据同步(短时间内数据可能不一致);可以在不中断服务的情况下进行容

Continue reading

Posted in java, linux | Tagged , | 2 Comments

如何让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】 一段。

Continue reading

Posted in linux | Tagged , | Leave a comment

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

Continue reading

Posted in linux, php | Tagged , , | Leave a comment

分享一个固定时间自动更新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(毫秒级的)。

Continue reading

Posted in linux | Tagged | 1 Comment

人人网海量存储系统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

Continue reading

Posted in linux | Tagged , | 1 Comment

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 = ''; …

Continue reading

Posted in linux, php | Tagged , , , | 5 Comments

[零九零献]献出服务器批量操作shell脚本

现在是北京时间零九年最后一天的下午五点 值此年末岁初的佳节时期 54chen祝订阅没订阅科学院日志的朋友们 元旦快乐! 特地送出shell脚本一个,适合用于经常性的和十台以上服务器打交道的同志们,解放双手。看码: 第一个文件 run.sh 功能 总控 运行的文件 是操作时的入口 #!/bin/sh SERVER_FILE=server SERVER_LIST="`cat ${SERVER_FILE}|grep -v "#"`" for SERVER in `echo "${SERVER_LIST}"` do echo ${SERVER} sh runOne.sh ${SERVER}; done; 第二个文件 runOne.sh 功能 自定义每个服务器要进行的操作的步骤 #!/bin/sh host=$1 ssh root@$host "yum -y install …

Continue reading

Posted in linux | Tagged , | 2 Comments

人人网-英特尔技术专题讨论会实录

Intel/Qianxiang server workshop (这横幅很搞 叫Qianxiang不如叫RenRen,千橡的英文:Oak Pacific) intel技术专家 互联网大客户技术技术服务内容 1.idc机房相关 2.性能优化:调试、锁等基础知识 下面由请intel技术专家:一个阿姨先讲话,可能是领导,无自我介绍 数据中心专家:张静、oracle专家津鹏、泰勒、优化组的徐进 (以上纯音译) 泰勒说话 性能技术分享 cpu 至强服务器优化产品 数据中心 Optimized Datacenters 技术专家津鹏开始说话 国内普通机房2.2kw-3kw每机柜 放视频:英特尔原料的一个生产厂 现在是一个数据中心 一个三层的楼 (真TM大) 视频里一个老外一层一层地介绍 每机柜30kw(国内的十倍)(听不懂老外在介绍啥,没有字幕,一帮人在看纯视频) 视频放完 在研究散热与机柜 张静开始 PPT 数据中心未来的发展和案例分析 从九六年到零九年的服务器成本的柱状图。power & cooling的费用在增长。 数据中心:可靠性、可扩容性、管理 神奇了(第一个大哥讲了半天,第二个大哥上来说PPT是他准备的。。。) 津鹏大哥来说话了 数据分散 …

Continue reading

Posted in linux | Tagged , , , | 3 Comments

ubuntu 9.10快速安装nginx+php环境手记[54chen科学院]

我(54chen)因为场景需要,特地在ubuntu9.10中安装nginx+php的环境,要快速不要优化,记录如下: sudo apt-get install php5 php5-cgi php5-cli php5-gd php5-curl php5-mysql nginx sudo apt-get install lighttpd spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi 上面的操作解读: 1.安装php nginx 2.安装lighttpd,为啥要安装这个,因为他有个spawn-fcgi,因为apt下来的php不是php-fpm。 3.用spawn-fcgi启动php-cgi在9000端口监听。 sudo vim /etc/php5/cgi/php.ini 修改php.ini文件 cgi.fix_pathinfo=1; 这样php-cgi方能正常使用SCRIPT_FILENAME这个变量 sudo …

Continue reading

Posted in linux, php | Tagged , , | 1 Comment
Page 4 of 10« First...2345610...Last »