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

经常有朋友来问我一些关于搭建网站服务器的经验,网上其实有不少这样的文章,不过我还是说一些我自己的建议,主要是软件方面的,适用于中小网站。

操作系统的选择

很多人选择操作系统很看重性能,不过要我说,主流发行版在性能、稳定性等等的问题上,差别不会太大。另外还有些爱感时髦的人总问我为什么不用ubuntu。ubuntu优点是不少,界面好看,安装软件方便,很适合做workstation。但是实际上,服务器是不需要界面的,上线后再安装软件的机会也不多。更需要关注的,可能是驱动兼容问题。尤其是服务器相关硬件的兼容性。没什么比装机器的时候发现硬件不兼容更让人郁闷的事情了。
在选择操作系统的问题上,我的建议是尽量使用大路货,RedHat, SUSE之类的都可以,最好是服务器版,版本新一些的,驱动支持相对丰富,能省不少事。

系统的配置

关于系统配置问题,我的建议不多,就一条,能不要的就不要,能关掉的service就关掉。有不少enterprise的service,看着挺吸引人的,但对你未必有用。services列表,最好从头到尾清一遍。尤其装的不是服务器版的时候,把那些workstation才需要的东西都关掉,什么gnome文件搜索服务,赶快关掉,不然死都不知道怎么死的。

软件的安装

安装软件,首先找官方支持的安装包,如果你已经选择了最大路的发行版,这个应该很好找。别上来就自己编译,RedHat、SUSE就是吃这口饭的,有些官方包中还带有针对自己系统的补丁,你很难比他们做的更好。关于在本机上编译就能运行更快的传说更是胡扯。只有三种情况下你需要自己编译:

  1. 找不到官方包。
  2. 有需求明确的补丁或者编译选项未包含在官方包中。
  3. 有需求明确的新版本,官方包还未提供。

除此之外的在安装服务器时的编译行为都只是安慰剂。你还是留着在自己的workstation上玩吧。
如果自己编译,要注意编译选项,别的不说,就说不要乱改–prefix。类Unix系统的目录结构有自己的convention,乱改–prefix很有可能破坏这种convention,需要到处修改缺省配置,会给你添很多麻烦,甚至碰到一些bug。

安全性

这个话题能写一本书。我这只讲一个原则,就是能关掉的端口就关掉。一个网站只需要打开两个端口,一个给http,一个给ssh。上线前用nmap扫一遍,看有没有漏开的端口。
ssh也不要用缺省端口,并且禁止密码登录,只打开PubKeyAuthentication。ssh是个很万能的东西,你可以通过它访问防火墙内的端口,上传文件,运行命令,干什么都够了。

10 thoughts on “关于搭建网站服务器的一些建议

  • For small sites, it’s easiest to start with a VPS server with some hosting company. VPS is cheap, has good bandwidth, and don’t have any hardware incompatibility issues. Move to physical machines after you get more traffic than what a couple of VPSes could handle.

    Ubuntu has a server version, which is pretty nice and minimal.

  • I’m here talking about dedicated server rather than share hosting solution.
    Ubuntu server version is good but still doesn’t have as much driver support.

  • VPS isn’t old-school shared hosting. You have dedicated IP and root access, pretty much identical to a physical dedicated server. 🙂

  • 我的观点是对自己没用过或者不了解的事物尽量不去在正式的文章中评论。特别是给他人提供建议的时候。
    没有任何一个头脑正常的管理员会用 desktop 版本的 ubuntu 往服务器上去部署。不是么?
    另外 debian 系的一贯特色就在于众多的 package 支持,其中当然包括了驱动支持。
    还请博主明鉴啊!

  • 我当然用过ubuntu的服务器版本,说实话,这个不是ubuntu的强项。包括了驱动支持和包括多少驱动支持是两个问题。有很多板卡的驱动只有RedHat、Suse这两个主流发行版的,我们碰到的不少支持AMD CPU的芯片组,还有一些raid卡,ubuntu都没有支持。

  • 感谢Robin分享搭建服务器的经验。

    1.请问Caibangzi使用的是VPS还是Dedicated Server?
    2.请问Caibangzi的test coverage是多少?

Comments are closed.