关于搭建网站服务器的一些建议 (11)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
6 days, 18 hours
ago
permalink
经常有朋友来问我一些关于搭建网站服务器的经验,网上其实有不少这样的文章,不过我还是说一些我自己的建议,主要是软件方面的,适用于中小网站。 操作系统的选择 很多人选择操作系统很看重性能,不过要我说,主流发行版在性能、稳定性等等的问题上,差别不会太大。另外还有些爱感时髦的人总问我为什么不用ubuntu。ubuntu优点是不少,界面好看,安装软件方便,很适合做workstation。但是实际上,服务器是不需要界面的,上线后再安装软件的机会也不多。更需要关注的,可能是驱动兼容问题。尤其是服务器相关硬件的兼容性。没什么比装机器的时候发现硬件不兼容更让人郁闷的事情了。 在选择操作系统的问题上,我的建议是尽量使用大路货,RedHat, SUSE之类的都可以,最好是服务器版,版本新一些的,驱动支持相对丰富,能省不少事。 系统的配置 关于系统配置问题,我的建议不多,就一条,能不要的就不要,能关掉的service就关掉。有不少enterprise的service,看着挺吸引人的,但对你未必有用。services列表,最好从头到尾清一遍。尤其装的不是服务器版的时候,把那些workstation才需要的东西都关掉,什么gnome文件搜索服务,赶快关掉,不然死都不知道怎么死的。 软件的安装 安装软件,首先找官方支持的安装包,如果你已经选择了最大路的发行版,这个应该很好找。别上来就自己编译,RedHat、SUSE就是吃这口饭的,有些官方包中还带有针对自己系统的补丁,你很难比他们做的更好。关于在本机上编译就能运行更快的传说更是胡扯。只有三种情况下你需要自己编译: 找不到官方包。 有需求明确的补丁未包含在官方包中。 有需求明确的新版本,官方包还未提供。 除此之外的在安装服务器时的编译行为都只是安慰剂。你还是留着在自己的workstation上玩吧。 如果自己编译,要注意编译选项,别的不说,就说不要乱改–prefix。类Unix系统的目录结构有自己的convention,乱改–prefix很有可能破坏这种convention,需要到处修改缺省配置,会给你添很多麻烦,甚至碰到一些bug。 安全性 这个话题能写一本书。我这只讲一个原则,就是能关掉的端口就关掉。一个网站只需要打开两个端口,一个给http,一个给ssh。上线前用nmap扫一遍,看有没有漏开的端口。 ssh也不要用缺省端口,并且禁止密码登录,只打开PubKeyAuthentication。ssh是个很万能的东西,你可以通过它访问防火墙内的端口,上传文件,运行命令,干什么都够了。 © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 快来留言 | Add to del.icio.us Post tags: linux, server, web
几种我不喜欢的猎头行为 (7)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
1 week, 5 days
ago
permalink
1. 对行业不了解。 - “噢,我认识贝尔实验室家电部的人。” - “对不起,贝尔实验室没有家电部。” 2. 急功近利。 在我表达完对这个职位不感兴趣后,马上加一句“噢,那如果你认识合适的人可以推荐给我”。只会让我觉得你唯一的目的就是赶快把这个坑填了。 3. 滥用SNS。 LinkedIn上,我不认识的人一律不会加。同时,我认为你也不需要加不认识的人。 4. 草率行事。 “我是一家美国公司,在北京海淀区办公,目前急需ROR程序员,希望能够推荐,多谢!!”,在我的blog留这么一句就指望我给你推荐人么?你是个草率的人,我可不是。 © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 快来留言 | Add to del.icio.us Post tags: job
分享一下我的xcode主题 (2)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
2 weeks, 3 days
ago
permalink
根据我自己的经验,白底色的编辑器是比较伤眼睛的。在使用编辑器的时候,我会尽量选择暗底色的主题。TextMate 里有不少不错的主题,但xcode中缺省的暗底色主题比较一般。我稍微改动了一下,做了一个新的出来,大概效果如下: 如果需要,可以从这里下载:DarkCity.xccolortheme。然后拷贝到/Developer/Library/PrivateFrameworks/XcodeEdit.framework/Resources 就可以用了。 © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 2 条留言 | Add to del.icio.us Post tags: mac, theme, xcode
两个iChm同时发布 (4)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
2 weeks, 5 days
ago
permalink
首先是iChm version 1.4 for Mac OS X,加入了几个呼声比较高的功能: 以pdf格式导出整个chm文档。 使用翻页键连续浏览文档。当到达页面底部时,会自动翻到下一页。在页首page up 会翻到上一页。 打开文件时自动跳转到上次浏览的页面。 自动记录上次查询某个文件时,是全文搜索还是在索引中搜索。 然后,就是iChm 1.0 for iPhone/iPod Touch ,经过苦苦等待,终于上了App Store。苹果花了三天审批我的软件,却花了四周审批contracts。11月4号就通过的软件不得不到今天才亮相。第一版功能包括: 使用浏览器上传和管理文件。 查看chm文档。 支持目录和索引。 支持在索引中搜索。 详细内容参看App Store中iChm的页面。定价$4.99。 © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 有一条留言 | Add to del.icio.us Post tags: apple, chm, hack, ichm, iphone, mac
两个iChm同时发布 (1)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
2 weeks, 6 days
ago
permalink
首先是iChm version 1.4 for Mac OS X,加入了几个呼声比较高的功能: 以pdf格式导出整个chm文档。 使用翻页键连续浏览文档。当到达页面底部时,会自动翻到下一页。在页首page up 会翻到上一页。 打开文件时自动跳转到上次浏览的页面。 自动记录上次查询某个文件时,是全文搜索还是在索引中搜索。 然后,就是iChm 1.0 for iPhone/iPod Touch ,经过苦苦等待,终于上了App Store。苹果花了三天审批我的软件,却花了四周审批contracts。11月4号就通过的软件不得不到今天才亮相。第一版功能包括: 使用浏览器上传和管理文件。 查看chm文档。 支持目录和索引。 支持在索引中搜索。 详细内容参看App Store中iChm的页面。定价$4.99。 © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 8 条留言 | Add to del.icio.us Post tags: apple, chm, hack, ichm, iphone, mac
mac破墙简易手册 (1)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
3 weeks, 4 days
ago
permalink
苹果电脑用户如何利用tor穿过GFW,访问被和谐的站点?其实非常简单: 1. 下载安装vidalia 2. 运行安装好的vidalia。等dock上的洋葱头变成绿色,代表启动成功。 3. Firefox使用者可以安装插件Torbutton。 4. Safari用户可以更改proxy设置,将其设置为127.0.0.1:8118。 但是还是有点麻烦,不是每个站点我都希望用tor来访问,毕竟用tor访问的速度不是很快。如果是这样: 5. 下载这个文件,随便将它解压到一个地方。 6.在设置proxy的时候,选择Using a PAC file而不是Manually,然后选择刚才解压出的那个文件。 7.Firefox在proxy设置时选择Automatic proxy configuration URL,同样输入那个文件的url。 这个文件里已经配置集成了一些著名的被和谐站点,当访问这些站点时safari和firefox会自动使用tor,而其他的站点就直接访问。再不用什么torbutton咔嚓咔嚓的切换来切换去了。 如果还有什么不能访问的站点,自己编辑一下那个宝贝文件,把域名加到domain_list中,一看就知道怎么加了。修改完记得在配置中reload一下。 本文链接 | 6条评论
财帮子是如何建成的 (10)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
1 month
ago
permalink
这上周在QClub上做了一个关于Rails网站建设的专题,主要从技术和构架的角度讲了讲财帮子发展的过程,现在把幻灯片分享出来: cbz-talk - Upload a Document to Scribd © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 快来留言 | Add to del.icio.us Post tags: caibangzi, rubyonrails
好歹做了一年多理财网站 (1)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
5 months
ago
permalink
做财帮子,一个直接的收获就是一些理财和金融的知识,上证指数陪着我们从3000点杀到6000点,又跌到现在的2748点,更可谓刺激非常。 今天和一个朋友聊起股市,他说他自己现在满仓,亏得不敢看。我自己在6000点的时候是2/3债券基金,1/3股票型基金,跌到3500点的时候,转换了一部分债券型到股票型,两个月前开始定投股票型基金,目前接近60%的股票型,40%的债券型。累计收益-18%,超过81%的财迷。 很多人都骂中国的股市不理性,可很少有人细究为什么会这样,更多的人乐于把责任推卸给政府、证监会、机构或者当年忽悠他们进场的人。要我说,的确有这样那样的原因,但是股市是股民组成,股市的不理性正是股民的不理性的反映,是我们的股民造就了我们的股市,不是别人。06/07年的股市暴涨让多少本来理性的人失去了理性,又让更多本来没什么理性可言的人冲进了市场,泡沫就是这样起来的。 也总有人在这个时候质疑为什么政府不救市。股市上涨的时候是没有人喜欢政府来干预市场经济的,去年调高印花税,不知道多少人骂呢。我并不是来开脱谁的责任,但如果已经有人通过一些手段来告诉你风险很高了,你没有听,还要他怎么救你呢?还有我也想不出该怎么救市,如果政府真有什么有效的干预手段让救股市到规规矩矩回到6000点,手段一出,招来的就是索罗斯们。如果这次学费白交了,下次只能还做受害者。 我选择这个时候开始定投,并不是说我认为现在是底了,我不是来抄底的,只是觉得现在比较低了,去年11月份之前,相信每个人都会想,如果2700点有一次进的机会该有多好,现在还有多少人把这看成机会呢?我选择定投而不是一下全赌进去,如果股市再跌,那么下个月我可以买到更便宜的基金,熊市时间越长,我能够收集的筹码越多,总有涨上去的那天。这就是定投的好处。 这些都是我和朋友谈的对现在市场的看法,我肯定不是什么专家,不过是经过这一年的一些所得。 © Robin Lu for 石锅拌饭, 2008. | 本文链接 | 2 条留言 | Add to del.icio.us Post tags: 理财, 财帮子
对一篇关于RoR部署方案文章的疑问 (1)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
10 months, 3 weeks
ago
permalink
这两天从Google Reader的Friends’ Shared Items中,好几个朋友都分享了同一篇文章,题目是”RoR部署方案深度剖析“,因为自己对这个内容也很感兴趣,仔细读了一下.应该说是很有意思的一篇文章,我也从中学到了不少东西,但是也发现了一些问题: Apache/Nginx的接收缓冲区都只开了8KB,如果页面比较大,Mongrel就没有办法一次性把数据全部推给Web服务器,必须等到Web服务器把接收缓冲区的8K数据推到客户浏览器端以后,清空缓冲区,才能接收下一个8KB的数据。这种情况下,Mongrel必须和Web服务器之间进行多次数据传输,才能完成整个Web响应的过程,显然没有一次性把页面数据全部推给Web服务器快。 只有几个问题,application layer的读缓存和读的次数是否影响到socket另一端写socket的次数的? 写socket的次数是否和另一段socket read的次数对应? Web服务器向到客户端socket的写操作在什么情况下会被阻塞? 文中的一些观点和说法好像多少混淆了应用层和传输层的概念. 我们假设使用服务器端程序控制带权限的文件下载,某用户下载的是一个100MB的文件,该用户使用了多线程下载工具,他开了10个线程并发下载,那么每个线程Mongrel在响应之后,都会把整个文件读入到内存的StringIO对象当中,所以总共会创建出来10个StringIO对象保存10份文件内容,所以Mongrel的内存会一下暴涨到1GB以上。而且最可怕的是,即使当用户下载结束以后,Mongrel的内存都不会迅速回落,而是一直保持如此高的内存占用,这是因为Ruby的GC机制不好,不能够及时进行垃圾回收。 Mongrel处理rails request和静态文件使用的是不同的handler.处理静态文件用的是DirHandler,DirHandler没有通过调用response的start方法使用到StringIO,而是直接调用了response的send_file方法,直接write socket.验证过程非常简单,自己起一个mongrel,在public下放一个100M的文件,通过浏览器下载一下.在我的mac上,本来是76M的mongrel,在下载结束后是74M,下载过程中也一直小于80M,最低到过68M.无论是过程中还是结束后,都没有出现占用内存暴涨的现象. 另外,mongrel本不应该用来处理静态文件,该文章开始的图也画得很清楚. 我们知道Mongrel在使用Lighttpd的时候,可以达到最快的RoR执行速度,但是Lighttpd当前的1.4.18版本的HTTP Proxy的负载均衡和故障切换功能有一些bug,因此一般很少有人会使用这种方式。 Lighttpd 1.5重写了mod_proxy_core,sqf方式下的balancer已经没有这个问题. 而Mongrel就简单了,gem install mongrel安装完毕,mongrel_rails start启动,哪个人不会?毕竟绝大多数开发人员和部署人员不是高手,他们熟悉哪种方式,自然就会推崇哪种方式。 首先,我不太赞同复杂的就好,简单的就不专业这样的观点,Unix philosophy也不是这样的.其次,mongrel也不是mongrel_rails start就能部署到产品环境的. 本文链接 | 11条评论
mac破墙简易手册 (1)
share
digg
by
Robin Lu (0)
on
石锅拌饭 (0)
1 year
ago
permalink
苹果电脑用户如何利用tor穿过GFW,访问被和谐的站点?其实非常简单: 1. 下载安装vidalia 2. 运行安装好的vidalia。等dock上的洋葱头变成绿色,代表启动成功。 3. Firefox使用者可以安装插件Torbutton。 4. Safari用户可以更改proxy设置,将其设置为127.0.0.1:8118。 但是还是有点麻烦,不是每个站点我都希望用tor来访问,毕竟用tor访问的速度不是很快。如果是这样: 5. 下载这个文件,随便将它解压到一个地方。 6.在设置proxy的时候,选择Using a PAC file而不是Manually,然后选择刚才解压出的那个文件。 7.Firefox在proxy设置时选择Automatic proxy configuration URL,同样输入那个文件的url。 这个文件里已经配置集成了一些著名的被和谐站点,当访问这些站点时safari和firefox会自动使用tor,而其他的站点就直接访问。再不用什么torbutton咔嚓咔嚓的切换来切换去了。 如果还有什么不能访问的站点,自己编辑一下那个宝贝文件,把域名加到domain_list中,一看就知道怎么加了。修改完记得在配置中reload一下。 本文链接 | 6条评论