从 dreamhost 到 linode

2005年五月份,拿着七周年的折扣码在dreamhost上安家, 转眼就四年了。中间有过一些不愉快的经历,比如说可靠性,有一个9都很勉强了,偶尔“肥手指”还会在不通知你的情况下多扣你一年的费用。我要求也不高,多数时候就忍了,但上个月一次寻求dreamhost support的经历让我最终下决心离开它。 上个月有几天我在dreamhost上的几个网站频繁500,有一个彻底连不上了。发了support ticket,倒是很快得到答复,说我的网站占用CPU和内存太高,脚本进程就被监控程序杀掉了,然后热切的向我推荐他们的Dreamhost PS。我给他们看了看所有access.log的统计,一天也就三万多条记录,可error.log里却有一万八千多条记录,你们想推销VPS也不能靠这样的手段啊。他们看我不愿意升级,又说不出问题,就开始乱找原因,建议我封google和yahoo的robot,摘抄其中非常经典的一段: I checked the logs above and found that these sites are being accessed by search engine bots. For ‘xxx.com’ I found the following: 66 66.249.67.219 40 74.125.44.136 For ‘yyy.com’: 99 66.249.70.134 88 74.6.8.107 Keep in mind the numbers you see above and the count you produced is the number Read more about 从 dreamhost 到 linode[…]

关于搭建网站服务器的一些建议

经常有朋友来问我一些关于搭建网站服务器的经验,网上其实有不少这样的文章,不过我还是说一些我自己的建议,主要是软件方面的,适用于中小网站。 操作系统的选择 很多人选择操作系统很看重性能,不过要我说,主流发行版在性能、稳定性等等的问题上,差别不会太大。另外还有些爱感时髦的人总问我为什么不用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是个很万能的东西,你可以通过它访问防火墙内的端口,上传文件,运行命令,干什么都够了。