HostMonster主机cPanel面板提供了FastCGI功能,利用FastCGI功能可以改善网站的访问速度,但是不是所有的虚拟主机都是支持FastCGI功能。如果虚拟主机提供商为他们的虚拟主机提供了FastCGI的功能,你可以在控制面板cPanel上很容易地开启或关闭FastCGI功能。FastCGI有它的优点和缺点。
FastCGI是为了改善网站的性能,减少资源占用,提高网站访问速度。如果你的网站是建在虚拟主机上,每天的页面访问量有10,000-300,000,那么你就应该考虑开启FastCGI功能了;或者如果 你的网站程序需要FastCGI,比如RoR(Ruby on Rails),你也要开启FastCGI。FastCGI之所以能加速网站是因为php的解释器是常驻内存的,不用每个访问运行一次php可执行文件。如果你需要使用FastCGI,你不需要对你的PHP程序做任何改动,只要你的PHP程序能正常运行,那么就可以和FastCGI一起正常地运行。
当然使用FastCGI也有缺点:(1)不能对每个目录使用php.ini文件;(2)对php.ini文件的修改不是立马生效,有延迟。FastCGI开启方法如下:
第一步:进入bluehost的cpanel管理面板,找到Software/Services,点击PHP Config(php设置),进入如下图所示的Bluehost PHP Configuration页面。如下图所示:
第二步:选择PHP5 (FastCGI),点击SAVE CHANGES保存设置。fastcgi就启用了。如下图所示:
在启用fastcgi之前,朋友们一定要备份主目录以及子站点下的php.ini文件和.htaccess文件,将子目录中的php.ini全部删除,FastCGI只允许根目录有一个php.ini文件,否则会出错。
启用fastcgi后,所有的php请示都会使用mod_fastcgi来解析,不再使用mod_suphp,使用apache默认的mod_suphp来解析php请求,每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。还有一个额外的好处是,持久数据库连接(Persistent database connection)可以工作。
以HostMonster主机的fastcgi模块来说,启用它,fastcgi就会一次性加载所有资源到内存中,为用户下一次点击做准备,用户下一次点击将会直接从内存的缓存中读取数据,当然会快很多,这一点与微软.net的缓存机构有异曲同工之妙。