现在 linux 越做越傻瓜化, 以 ubuntu 8.04 server 版为例, 架设一个 lamp Server简单到直接安装时选择就可以搞定.

apache 目前仍然是 web server 的王者, 历史悠久, 功能完整, 运行也相当稳定. 但是强大的功能同时也带来配置的复杂性, 稳定性也会付出一定性能作为代价. lighttpd 作为一款后起之秀轻量级 web server, 在静态文件处理, IO性能, 内在占用方面具有压倒性优势. 专注于静态文件而将动态请求转交给 fastcgi 处理也切合分而治之原则, 同时也提高了灵活性, 配合 lighttpd 的 spawn 工具, 可以实现 fastcgi 进程各自运行在不同的用户权限之下, 这个功能对于虚拟主机架设尤其重要. 虽然 apache 也有 suphp 和 suexec 等工具配合, 但配置相对复杂, 灵活性也不够, 如 suphp 只能就对 php…

另一方面, lighttpd 虽然是轻量级, 功能可能不如 apache 强悍, 但其目前提供的模块来讲, 对很多人来说已经是足够强大了. 配置文件结构也比较清晰, 类似于 perl 的语法. 除去完成日常的日志记录功能外, 也可以实现虚拟主机, url 重写等, 具体参见 lighttpd 官方文档.

总的来讲, 个人比较偏好 lighttpd , 所以这里就讲一个如何用 lighttpd 代替 lamp 中的 apache 来架设一台 wordpress Server

  1. 首先安装 ubuntu, 需安装 openssh 以便远程管理

  2. 完成后安装 lighttpd, php5和mysql, 以及 phpmyadmin

1
sudo apt-get install lighttpd php5-cgi php5-mysql php5-gd mysql5-server phpmyadmin
  1. 到 zend.com 下载最新版 zend optimizer 并安装
1
2
3
4
5
6
7
cd /usr/src
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
./install.sh
# 安装路径:/usr/local/Zend
# php.ini路径:/etc/php5/cgi
  1. 打开 lighttpd 的 fastcgi 模块
1
lighty-enable-mod fastcgi

打开 fastcgi 之后, lighttpd 已经可以支持 php 了.

  1. 编辑 /etc/lighttpd/lighttpd.conf 打开 mod_rewrite 模块
1
2
3
4
5
6
7
server.modules = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_compress",
            "mod_rewrite"
)
  1. 配置 wordpress 的虚拟主机
1
2
3
4
5
6
7
8
9
$HTTP["host"] =~ "(^|.)my-wordpress-blog.cn" {
        server.document-root = "/path/to/your/site/httpdoc"
        server.errorlog = "/path/to/your/site/httplog/errors.log"
        accesslog.filename = "/path/to/your/site/httplog/access.log"
        url.rewrite = (
                "^/blog/(wp-.+)$" => "$0",
                "^/blog(/[^.]*)$" => "/blog/index.php$1"
        )
}

经过上面的配置, my-wordpress-blog.cn 虚拟主机下面的 wordpress 可以支持无扩展名的 url 重写, 所有没有扩展名以及不是由"wp-“开头的请求都会被转发到 wordpress 进行处理.

不过 6 个步骤, 一台功能完善的 web server 就架起来, linux 用来做Server确实是相当地好用.