Lighttpd安装日志

原贴:http://leo.leoneo.com/article/tech/httpd/lighttpd/20060520

Lighttpd安装日志

为什么使用Lighttpd,从性能方面来说,首先考虑单进程与多进程问题,这也是我为什么不想使用Apache的原因,多进程服务器的惊群问题, 简单来说多进程服务(例如Apache)在一个请求发送时候会唤醒所有sleep的进程,但是最终服务的只有一个,在进程数目很多,请求频繁的时候这会造 成一个大困扰,系统会忙于切换进程,如果看Top会发现CPU使用在system的比例很高,至于Lighttpd则使用单进程来响应quest,使用 libevent,poll()作为event handler,如果在linux2.4下,还可以选择rtsig作为event handler。如果不使用大文件(>4G)支持,lighttpd使用sendfile()来发送文件,完全的zero-copy,在这方面性能 表现是占优的。同时Lighttpd使用FastCGI来做动态脚本处理,经过实测,在性能表现上也可以接受。

另外就是原先使用Apache的用户迁移成本会比较少,Lighttpd语法与Apache接近,并且核心功能基本实现,我关注的就是 url_rewrite,PHP(这是当然的),alias,custom_log这几个模块,语法接近,并且也同样支持跟cronolog的管道配合日 志,所以迁移之后功能都可以实现。另外我比较了Apache和Lighttpd的Suexec方案,虽然目前Lighttpd并没有官方模块来支持这一特 性,但是就实现的难度来看,跟Apache1.3乃至Apache2+MPM差不多……(如果希望安全的使用Apache2+MPM+PHP,一样需要 FastCGI模式)

如此,我们就可以开始尝试了,首先是Lighttpd的下载,然后把PHP安装为cgi模式,你可能需要安装Libevent,如果需要url_rewrite支持,还需要pcre,安装基础安装可以看TutorialLighttpdAndPHP

安装PHP
./configure /
--prefix=/usr/local/php-cgi /
--enable-fastcgi /
--enable-discard-path /
--enable-force-redirect /
&&make /
&&make install
在php.ini里边修改你的设置
cgi.fix_pathinfo = 1
安装Lighttpd
./configure /
--prefix=/usr/local/lighttpd /
&& make /
&& make install
设定文件范例 PHP部分
fastcgi.server = ( ".php" =>
(( "socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/local/php-cgi/bin/php",
"idle-timeout" => 30,
"min-procs" => 1,
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "1",
"PHP_FCGI_MAX_REQUESTS" => "10000" ),
"bin-copy-environment" => (
"PATH", "SHELL", "USER" ),
"broken-scriptfilename" => "enable"
))
)
一个简单的启动/停止脚本
#!/bin/sh
LIGHTTPD_CONFIG=/usr/local/apache04/conf/httpd.conf
LIGHTTPD_BIN=/usr/local/apache04/sbin/lighttpd
LIGHTTPD_PID=/usr/local/apache04/lighttpd.pid
test -r $LIGHTTPD_CONFIG || exit 6
case "$1" in
start )
echo -n "Starting lighttpd"
$LIGHTTPD_BIN -f $LIGHTTPD_CONFIG
;;
stop )
echo -n "Shutting down lighttpd"
killall lighttpd
rm $LIGHTTPD_PID
;;
esac
exit 0
这样就可以跑起来了:)
Lighttpd
libevent
PCRE
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值