HostMonster主机开通FastCGI功能

     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页面。如下图所示:

cgi1

第二步:选择PHP5 (FastCGI),点击SAVE CHANGES保存设置。fastcgi就启用了。如下图所示:

cgi2 

在启用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的缓存机构有异曲同工之妙。

HostMonster主机上安装Python2.5

1. 安装Python 2.5
虽然django可以在python 2.3及以上版本运行,但是最推荐版本是2.5,在?hostmonster的主机上提供的是2.3,所以你可以想安装python 2.5到个人目录中。基本安装步骤是,到www.python.org下载合适的安装版本。如果想从源代码安装,需要登陆SSH然后执行以下步骤:

  1. 使用wget下载源代码
  2. tar zxvf python-VERSION.tar.gz
  3. cd python-VERSION
  4. ./configure –prefix=$HOME
  5. make
  6. make install

如果安装缺乏软件,请按照提示安装。
2. 安装Django
最新的正式版本是django 1.0,以此为例安装步骤如下:

  1. wget http://www.djangoproject.com/download/1.0/tarball/
  2. tar zxvf Django-1.0.tar.gz
  3. cd Django-1.0
  4. export PATH=$HOME/bin:$PATH
  5. python setup.py install

3. 设置路径
编辑“.bash_profile”文件,设置PATH和PYTHONPATH,以便程序能正确运行:
export PATH=$HOME/bin:$HOME/lib/python2.5/site-packages/django/bin:$PATH
export PYTHONPATH=$PYTHONPATH:$HOME/django/django_projects
然后重新加载.bash_profile,使新配置生效:source ~/.bash_profile,设置好路径后,接下来,就是创建mysql数据库和账户等信息,在cPanel中创建用于django项目的mysql数据、数据库用户,并记录下来用于项目设置。 Continue reading