Nginx+FastCGI 运行 WordPress 和 WP Super Cache
2009年06月18日 | 标签: nginx, wordpress
有了一个自己的 VPS 主机以后就自由多了,拥有 root 访问权限,几乎可以做任何事情,VPS 一开通我就迫不及待的想要用 nginx 换掉笨重的 apache,share hosting 就没那么幸运了,只能给什么用什么了。
WP Super Cache 是一个 WordPress 插件,用来给 WordPress 提供缓存,也就是说用户请求一个 WordPress PHP 页面后,WP Super Cache 会把结果转化成 HTML 文件保存下来,这样下次用户访问同一个页面的时候就会优先访问那个已保存的 HTML 文件,这样中间就没有 PHP 解析的过程,所以速度非常快,是高流量博客的必备插件。
说明一下为什么需要 FastCGI?Nginx 体积很小,本身不带 CGI 模块,所以需要和第三方配合以支持各种动态脚本的解析。这些解析脚本是如何和 web server 交流的呢?这时需要一个叫做 FastCGI 的支持。那么什么是 FastCGI 呢?FastCGI 是一个外部程序和 web server 之间打交道的协议/接口,有点像应用程序 API 和操作系统之间的关系。与老的 CGI 比起来,FastCGI 可以同时启动多个进程,而 CGI 程序只能运行在一个进程里,这意味着 FastCGI 的性能比 CGI 好得多;FastCGI 的运行完全和 web server 独立,就是说即使 FastCGI down 掉了也不会影响到 web server。
目前较普遍的有两种方法支持 FastCGI,一种是用 lighttpd 的 spawn-fcgi 程序;另外一种是直接用内嵌在 PHP 里面的 php-cgi。这里以第一种方法(spawn-fcgi)为例。
CentOS 上安装 nginx+spawn-fcgi
安装 nginx 和 spawn-fcgi
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/ epel-release-5-3.noarch.rpm # yum install nginx # yum install spawn-fcgi