Linux体系下Lighttpd的装设置置-2

 
 
(2) 整合php和fastcgi
以php-4.3.11为例,编译PHP的时分,不克不及指定 --with-apxs选项,编译饬令行大年夜致如下:
$ ./configure ... --enable-force-cgi-redirect --enable-fastcgi
$ make
$ sapi/cgi/php -v
PHP 4.3.11 (cgi-fcgi) (built: Jan 30 2006 00:12:34)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
make完了后,会在sapi/cli目次天生饬令行下的php顺序,sapi/cgi下天生fastcgi下的php顺序。假设实验sapi/cgi下的php显露版本号,你会发现有 cgi-fcgi的申明,这就剖明你乐成了。
$ mkdir /usr/local/lighttpd-1.4.9/fcgi
$ cp sapi/cgi/php /usr/local/lighttpd-1.4.9/fcgi/
$ vi /usr/local/lighttpd-1.4.9/lighttpd.conf
我们设立设置配备陈列一个子目次fcgi用来留存全部的fast-cgi顺序,然后把php拷贝到该目次下。编辑lighttpd.conf,如下所示:
...
server.modules = (
...
"mod_fastcgi",
...)
...
fastcgi.server = (".php" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/fcgi_php.sock",
"bin-path" => "/usr/local/lighttpd-1.4.9/fcgi/php"
)
)
)
从头启动lighttpd就可以了。Lighttpd和fastcgi通讯有两种体式花腔:议决Unix socket通讯,如以上PHP的启动;议决TCP/IP socket通讯。Lighttpd支撑基于fastcgi的负载均衡,不过我没实验过。
关于fastcgi的和谈范例,请参考http://www.fastcgi.com/,以下是我自己写的一个fastcgi的设置配备陈列样例:
fastcgi.server = ( "/fastcgi/adsim" =>
( "127.0.0.1" =>
(
"host" => "127.0.0.1",
"port" => 4000,
"bin-path" => "/usr/local/lighttpd-1.4.9/fcgi/adsim",
"check-local" => "disable"
)
)
check-local必须设置为disable,不然因为找不到/fastcgi/adsim会招致恳求失败。
(3) 制造lighttpd启动脚本
每次启动lighttpd时我们要指定设置配备陈列文件的位置,截至lighttpd时要先找到进程号,然后用kill发送截至旗帜灯号,有点太费事了。幸而lighttpd自带了一个脚本顺序能协助完成这些操纵,只需轻微改改就能用了,那就是源码目次doc/rc.lighttpd和doc/rc.lighttpd.redhat,后者公用于RedHat Linux。首要的窜改之处在于:
...
if [ -z "$LIGHTTPD_CONF_PATH" ]; then
LIGHTTPD_CONF_PATH="/usr/local/lighttpd-1.4.9/lighttpd.conf"
fi
...
lighttpd="/usr/local/lighttpd-1.4.9/usr/sbin/lighttpd"
...
用这个脚本管理lighttpd是不是苟且多了。
(4) Lighttpd和OpenSSL
Lighttpd默许不编译ssl模块,所以必须在编译的时清楚确指定 --with-openssl,然后再天生自签署的效劳器证书也许从CA那里获取。天生自签署证书的体式花腔如下:
$ openssl req -new -x509 -keyout server.pem \
-out server.pem -days 365 -nodes
Lighttpd要求证书和私匙留存在一致个文件里,假设是离开的,则需要兼并:
$ cat host.key host.crt > host.pem
设置配备陈列lighttpd.conf,大年夜致样子如下:
ssl.engine = "enable"
ssl.pemfile = "server.pem"
你可以针对某个假造主机做多么的设置,可是因为SSL任务在TCP层,所以不克不及设置基于称号的假造主机,只能设置基于端口的。 以下是一个设置配备陈列样例:
$SERVER["socket"] == "192.168.146.128:443" {
ssl.engine = "enable"
ssl.pemfile = "/usr/local/lighttpd/certs/server.pem"
server.document-root = "/home/www/wfs/www"
}

 
来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2007/1022/36591_2.html


版权声明: 原创作品,承诺转载,转载时请务必以超链接体式花腔标明文章 原始来由 、作者信息和本声明。不然将追究法令责任。

posted @ 2011-03-07 18:30  蓝色的天空III  阅读(181)  评论(0编辑  收藏  举报