坚信科学,分享技术

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

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

Category Archives: linux

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

[科学院手记]人人网新鲜事分享现场转播

讲座已经开始,现在是人人网牛人张洁介绍。 ---- 现在是新鲜事后台架构牛人铁安在讲解新鲜事要完成的功能: 将一个用户产生的内容实时发送给与他相关的一群人。 尽可能地帮助用户保存内容。 现在面临的挑战 分发压力:5000W*100 全天分发的总量在五十亿左右。每秒分发的次数是六万次每秒。 现在有1.3t的内存占用。 ---- 老版本的新鲜事结构 ---- 新的系统结构 分发之后,内容本体丢进cache和db,dispatch服务通知到相关的人,分发后来的结构保存一人一条到TC --- MENU 技术细节部分 分发部分的策略优化:瞬间分发海量数据,光良首页的例子(一百万的粉丝同时产生)。产品策略优化。 内存压缩技术:新鲜事内存结构(FlyWeight),字符串压缩存储(QuickLZ) 新鲜事存储方案 ---- 内存压缩技术:flyweight的设计思想 只要对象存在,所有的指针都能找到正确的内容。 boost::flyweight在高并发情况下有效率问题,自己实现了相同的功能。 各种压缩办法的性能比较: QuickLZ的压缩比不是最高的,但解压缩是最快的;代码简单;支持追加方式的压缩;有成熟的商业应用。 boost::multi_index介绍 用来做多视图显示的东东 提供三种不同的索引方式 一段例子代码 c++代码。。。略鸟 ------- 新鲜事存储方案 TC+Direct IO + SSD key-value DB的一个表。 研究的三个开源项目: …

Continue reading

Posted in linux, 架构研究, 生活备份 | Tagged , | 29 Comments

ubuntu9.10里的firefox不显示DNS Flusher插件的解决办法

ubuntu 9.10里的firefox是3.55版本的,DNS Flusher是个很好用的快速切换dns的插件。 ubuntu下是大小写敏感的,而DNS Flusher的作者似乎只是个windows用户。 修改这个文件: vim /home/cc/.mozilla/firefox/icj6nr4a.default/extensions/{7d575baa-b543-11dc-8314-0800200c9a66}/chrome.manifest (根据你的情况自己修改下目录) 然后修改这个文件里的第一行和第二行里的两个overlay,将里面的dnsFlusher.xul都改成dnsflusher.xul,注意,只修改前面两个overlay,后面的content和skin无需修改。

Continue reading

Posted in linux | Tagged , | Leave a comment

x200 ntfs硬盘安装ubuntu9.10正式版手记

09年10月31日,9.10发布了正式版本,科学院曾经出过两篇硬盘安装的手记,一个是8的一个是9.10测试版本的。地址是: [十一归来]ubuntu 9.10 硬盘安装手记 ubuntu 8.10 desktop版本 硬盘安装手记 先说平时我们用wingrub安装的时候,是不支持ntfs的,只能用grub for dos的grldr文件(grub4dos的这个文件支持ntfs)。 下载iso文件:ubuntu-9.10-desktop-i386.iso 同上一文,我列出使用的boot.ini和menu.lst: boot.ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect C:\GRLDR="wingrub" menu.lst timeout 10 title Windows at (hd0,0) root (hd0,0) chainloader +1 title install …

Continue reading

Posted in linux | Tagged , , | 4 Comments

linux系统更换sshd的方法手记[from科学院]

朋友的服务器让人给黑了,把sshd都给更换了,拿到root用户名密码直接用curl往外传。绝对是老毛子的手法,非常娴熟,入侵涉及的方案有perl服务、c、shell、curl、php exec等等。 在最简单的分析下,采取更换sshd服务的办法来去除老毛子的垃圾sshd. 第一步、下载、安装 wget -c "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz" tar zxvf openssh-5.0p1.tar.gz cd openssh-5.0p1 请确认Zlib和OpenSSL的版本: openssh-5.0p1要求Zlib的版本在1.2.1.2以上,OpenSSL版本在0.9.6以上.下面是Zlib和 OpenSSL的官方地址: http://www.gzip.org/zlib/ http://www.openssl.org/ 在安装过程中我遇到了zlib的版本过低。从上边的网址去下一个 zlib-1.2.3.tar.gz tar zxvf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure make && make install 然后重新进入 openssh-5.0p1: ./configure --sysconfdir=/etc/ssh make 这一步后面很牛B,要去到那个修改过的openssh的目录里 make uninstall (就是要把老毛子的病毒sshd给全部rm掉),然后再执行下面的步骤: make in

Continue reading

Posted in linux | Tagged , | 3 Comments

多nginx单php-fpm的配置方法[from科学院]

用php fastcgi和nginx搭配的形式是很常见的,在很BT的需求下,可能会需要多个nginx走不同的端口,而进程只用一个php-fpm。 本文所讲的环境比上述一句话还要BT,存在一个php-fpm,而且每个nginx都以一个非超级用户所有来进行运行。 这样就存在了一个BT的情况,php-fpm默认不能以root权限运行,而普通用户来运行的话,对其他用户的目录,php-fpm将没有权限,页面在运行php的时候,会提示404。 于是有以下的解决方案: 找到php的源代码 $src_path/sapi/cgi/fpm/fpm_unix.c 在文件顶部增加一个宏定义:#define I_REALLY_WANT_ROOT_PHP 重新 configure make make install 此时再修改php-fpm.conf 将user group都修改成root(经过上面的修改php-fpm已经支持root了)。 重启php-fpm. 配置各nginx.conf: location ~ .*\.(php|php5)?$ { #fastcgi_pass  unix:/tmp/php-cgi.sock; fastcgi_pass  127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } 点到即止,不再多说。。。

Continue reading

Posted in linux, php | 6 Comments

用java并发测试tokyo cabinet的性能[重大更正篇]

在前面一篇文章 用java并发测试tokyo cabinet的性能[五四陈手记] 提到了测试tc的效率问题,最后的结论是70W/s,由于当时的错误,导致了一些严重影响大家的结论,如今本着认真治学,谨慎小心的态度,重新公布最新的代码和结论,还望受影响的同志们不要发烧。。。 首先,总结上一次为什么会犯错的原因: 1. 测试代码有问题,TDB db = new TDB();不能放在线程中去new,也许是tc实现的问题,详细原因没有去研究。 2.赶着时间测,把写入的时候的结果直接给屏了。 重新公布新的测试代码: package test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.concurrent.atomic.AtomicLong; import tokyocabinet.*; public class BenchMark { private static List<TDB> dbList = new ArrayList<TDB>(); …

Continue reading

Posted in linux | Tagged , | 9 Comments

清华万博-精武门 lamp环境内容回顾

精武门版权所有,复制请标明:http://www.54chen.com/c/809 第一部分:Linux基础 因为大多数同学没有任何基础,此课程不得不放慢脚步,但不要担心,所涉及到的东西都会在课程中反复讲解。 1.Linux指令: 1.1 SecureCRT连Linux接服务器后,默认进入自己的用户目录下。--/home/xxxx/ 题外: 目录的概念:.(一个点)当前目录 ..(两个点)上一级目录 <以后不能再分不清楚这两个东西了哈> 相对目录和绝对目录:/home/zzz/相对于/home/来说就是zzz目录,就可以cd /home/后再cd zzz进入到/home/zzz (其中滋味要慢慢体会,只能体会,一定要体会清楚) 1.2 Linux命令行 命令[空格]参数1[空格]参数2[空格]。。。 2.常用命令: cp a b --copy的简写 复制文件的意思,从a复制到b mkdir xxx --make directory的简写,新建文件夹的意思,建立一个叫xxx的文件夹 ls --list的简写,显示当前文件夹下所有文件 精武门版权所有,复制请标明:http://www.54chen.com/c/809 第二部分:LAMP环境 2.1 编译程序中的三板斧: configure 检测硬件,配置MakeFile文件 make 编译 make install 安装 …

Continue reading

Posted in linux, php | Tagged , | 9 Comments

科学院近年好文章总结

彻夜无眠,实在没啥想法,想想干脆把这些年自以为还可以的文章整理一下,给先来的后来的读者们送上一份大餐。 三月最受欢迎的十篇文章 为人人设计的分布式key-value系统架构[原创] 这篇文章介绍了早期的人人网云存储雏形,现在看来,呵呵,是有点太搓了。。。 [原创]使用postgreSQL+bamboo搭建比lucene方便N倍的全文搜索 第二部分 这一篇是使用pgsql做全文索引的搜索引擎的第二部分,不知道为什么第一部分没进前十。。。。大家都只关心故事的结尾的吗。。。 wordpress nginx php-cgi mysql在128m内存下的vps安装和优化手记[原创] 这篇讲述了本站的总体架构方案,中间参考了张宴同学的流水账。 千橡、校内网、人人网急聘 Flash AS3工程师、Social Game 游戏策划 招聘通知,还是长期有效的,因为人总是来来去去,所以如果你在找工作,不妨一试。 [原创]mediawiki安装改进手记-使用mediawikit和postgresql搭建有强大搜索功能的wiki 这是在团队搭建wiki的手记,如果你在为团队搭建wiki,可以参考一下。 LinkIn基于Dynamo设计的系统:伏地魔(voldemort)设计中文文档[我是陈科学院译]-完稿 这是一个比较有名的分布式存储系统,也是我们正在参考的一个系统,基本实现了亚马逊的dynamo系统的特性。 对等网络中主流分布式哈希算法比较分析[收集] 这是分布式网络中的基本算法收集。 类似google big table的tokyo cabinet研究记录 这是分布式系统开发前的调研,真是不好

Continue reading

Posted in java, linux, 架构研究, 资料文档 | Tagged | 5 Comments

[十一归来]ubuntu 9.10 硬盘安装手记

很早之前,科学院发布过一篇 ubuntu 8.10 desktop版本 硬盘安装手记 时隔今日,中间经过了一个9.04的beta版本后,又迎来了新的beta版本 9.10最近的发布过程: 2009年10月1日——Beta版本发布 2009年10月22日——公布发布候选版本 2009年10月29日——Ubuntu 9.10正版版本上架 根据总结,Ubuntu 9.10中将会具有以下全新特性: 1、Ubuntu 9.10中将会添加全新的令人印象更加深刻的启动图形; 2、Ubuntu 9.10将会具有更快的启动速度(“Jaunty Jackalope”曾经在netbook上实现25秒的启动速度,Karmic Koala,尽管里面的动物“树袋熊”速度比较慢,但有望实现更快的启动速度); 3、Ubuntu 9.10将可以为Netbook更好地整合Moblin技术; 4、Ubuntu 9.10将具有更好的视觉体验; 5、Ubuntu 9.10将通过完整的开源软件来提升服务器版本的云计算性能; 6、Ubuntu 9.10将主要采用Amazon APIs来管理云计算,当然GoGrid APIs 也在考虑中; 7、Ubuntu 9.10中的Canonical 将创建Karmic Koala的标准Amazon机器镜像,本质上就是创建"ready-to-run" 程序,作为Amazon群体的“标准版本”; 8、为了节约资源,Ubuntu 9.10中的休眠和唤醒特性将扩展到服务器版本。 第七这个太牛B了,单台机器做成云里的一个节点,绝对主流,绝对未来!力顶! 7号,休假归来,拖一回搞个系统玩。 以下

Continue reading

Posted in linux | Tagged , , | 5 Comments

How to: redirect WordPress RSS feeds to feedburner with nginx[原创]

[转载请注明:http://www.54chen.com/727-how-to-redirect-wordpress-rss-feeds-to-feedburner-with-nginx-original/ 作者:陈臻] 可能有大多数朋友都会在用wordpress的时候需要从原始的feed地址转到feedburner上,看到一个老外的博客上说了apache的htaccess的修改方案: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/-aboutJavaAndPhp [R=302,NC,L] </IfModule> 心想这nginx也不能没个着落下,于是就试验了一下,nginx作如下修改即可: if ($http_user_agent !~ FeedBurner) {   rewrite ^/feed$ http://feeds.feedburner.com/-aboutJavaAndPhp redirect;   rewrite ^/feed/$ http://feeds.feedburner.com/-aboutJavaAndPhp redirect; } 都是302跳,可能对seo不

Continue reading

Posted in linux | Tagged , , , , | Leave a comment
Page 5 of 10« First...3456710...Last »