随谈:2011-04-13 国外主机面板的简评

王志勇 发表于 2011年04月13日 08:31

本文的中心主要是对cPanel的讨论,以及我使用过的一些国外虚拟主机面板的简评,将这些面板进行对比,取各自的优点,从而让读者了解什么样的功能是更方便的、以及什么样的功能是很不方便的。cPanel是一款十分优秀的虚拟主机面板程序,已经被国内外很多主机商所采用,是很明智的选择,因为比较少有比cPanel更好的虚拟主机面板程序。然而cPanel如果被广泛应用的话,似乎仍然是一个半成品,有着关键的不足。如果cPanel仅被少数的空间商使用的话,问题还不大,这一家的面板不好用就换另一家的主机;可是一旦被广泛地应用,问题就出来了,因为cPanel的不足被广泛地再次复制,到处都是有问题的面板,换了一家还是一样的问题。

cPanel最大的优点是无需独立IP即可支持泛域名解析。添加泛域名解析的方法,例如先在域名面板添加*号的二级域名,然后在cPanel添加abc.com的主域名,添加二级域名的时候输入*号即可。我使用过Go Daddy和IX Web Hosting的虚拟主机,它们都是不支持泛域名解析的,但由于它们都能提供独立IP,可以通过独立IP的方法实现泛域名解析,可是这样成本很高。大家通过在本机使用Apache建立泛域名解析,就可以了解泛域名解析的原理,只是增加了一个*.abc.com的二级域名,并不会增加服务器资源,请见我写的这篇:http://www.auiou.com/relevant/00000573.jsp。相反,会节省服务器资源。因为当不支持泛域名解析时,依次手工增加很多个二级域名,Apache的配置文件会增大,所以当手工依次添加的二级域名多时,肯定是会增加服务器资源的;添加一条泛域名解析的记录,反而会节省资源。由此可见,各虚拟主机在技术上是可以轻松支持泛域名解析的,方法就是添加*号的二级域名,可是由于他们禁止输入*号的二级域名,所以就相当于禁止了泛域名解析。请您注意:泛域名解析是被禁止了,而不是真的不支持。所以在功能上,所有的Linux+Apache主机是可以十分轻松地、直接支持泛域名解析的,只是被“禁止”了。二级域名、泛域名解析的作用在前面已经谈过了,主要是为将来的流量分流作预留,便于站点的流量拆分而保持域名不变。

cPanel的优势主要是允许泛域名解析,其它功能与各大虚拟主机商自己开发的面板比较起来,cPanel几乎没有多大优势了。cPanel如果是他们自己使用的话,有不足的时候他们自己可以随时改进;可是当有问题的cPanel被广泛地应用之后,这些不足是很难解决的。任何稍大的程序,通常只有程序的原开发者能够进行再次开发、修改。即使是顶尖的程序员,也很难开发别人的程序。因为一个应用型的成品程序,语句太多,信息量太大,需要有原开发者的开发文档、思路才可以进行再次的开发,并且需要先花费难以估量的、海量的时间去读懂所有的程序。即使是原开发者,如果经过了很长时间,要读懂自己写过的程序,也需要花费一定的时间。由于这么高的技术门槛,就像使用discuz,wordpress等程序一样,使用者一般是无法修改程序的。还不如自己从零开始全新开发一个程序,要比修改别人的程序相对容易许多。

cPanel在一些关键的功能上没有选项,而是默认的设置。例如在一些版本上必须把域名的DNS修改为指定的DNS才可以添加域名,这一点是十分不必要的,毫无意义。它的存在,是由于上面所述,一是这种不足被广泛地复制,二是使用者(空间商)又无法修改程序,其实早就应该取消掉这一繁琐的步骤。另外,由于cPanel自带DNS功能,有一些强制修改DNS才可以添加域名的cPanel,同时还有另一个问题,就是无论域名使用哪里的DNS,服务器对域名下的子域名的解析,不是从域名所在的DNS提取的,而是全部从这个cPanel的DNS中提取的。例如,abc.com使用GD的DNS,主机A使用cPanel并且强制修改DNS才可以添加域名,先把DNS改为主机A指定的DNS,添加域名后再改为GD的DNS。这时使用gethostbyname()函数返回abc.com的二级域名,会发现无法解析为IP,这时在cPanel的Simple DNS Zone Editor功能中添加这个二级域名,再使用gethostbyname()函数测试,有的cPanel主机可以立即解析,有的cPanel主机则仍然无效。由于cPanel这个的问题,域名不能被正常解析,导致无法使用远程数据库。如果您使用的主机的cPanel版本,没有强制修改DNS才可以添加域名,则不存在这两大问题。

cPanel还有一大缺点,购买主机时强制添加一个主域名,添加的域名列表十分混乱。在这一点上,GD和IX自己开发的主机面板则不存在这个问题。GD有强制添加主域名,IX没有强制添加主域名。GD和IX添加的域名列表很整齐,都是在第一页显示顶级域名,子域名都是放在顶级域名的下一级,点击超链接就可以对子域名进行管理。而cPanel,强制添加一个主域名例如我们添加def.com,当添加abc.com的新域名时,会产生一个abc.def.com这个毫无意义的二级域名。在cPanel的Subdomains里,这些自动产生的毫无意义的例如abc.def.com的二级域名,会显示在里面;并且不同域名的子域名,都是放在一起的,当域名稍微多一些,就会变得十分凌乱。不过好在cPanel提供搜索功能,只要搜索关键词abc,就可以显示所有的子域名。

在错误日志和访问日志方面,IX主机是做得最好的,IX开发的面板可以选择关闭/开启访问日志,以节省服务器资源;IX的PHP报错,默认是关闭的。GD和cPanel,都无法关闭访问日志。cPanel的错误日志,十分灵敏,只要出现PHP报错,就会在与程序文件同一级目录产生一个error_log的文件。对于一些访问量大的网页,如果经常出现PHP报错,这个error_log文件很快就会变成几兆~几百兆。所以我现在是在PHP网页中写入error_reporting(0);语句,使其不会报错,这样是为了避免产生error_log文件。

cPanel还有一个缺点是添加域名时会强制建立一个新的FTP帐号,并且要输入密码,这一点是不必要的。而且输入密码后,总是会提示不匹配,这可能是AJAX存在问题,解决的办法是输入之后,然后点击网页的空白处,再点击文本框,再输入,多试几次,就会出现绿色的勾。

cPanel似乎有很多个版本,我使用过至少六七个使用cPanel为面板的不同空间商的主机,有些功能是不一样的,但是大体相似。最后需要提一点的是,在国内,GD空间比IX空间访问速度快,在前面已经写过几篇了,本博客现在使用GD空间。

3条评论:
1   小洁 2011-04-13 20:48
用了这么久的cpanel 今天才发现对其了解甚少
2   moonswamp 2011-04-13 22:24
不管怎么说,cpanel还是目前最简单易用的控制面板!
3   hey33 2011-04-14 08:11
恩 一直cpanel感觉质地的还是很少 哈哈 长见识了

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写