2007-5-14 15:15
nukq
[简述]FreeBSD下Lighttpd+fastcgi-php的安装
关于lighttpd+fastcgi-php 和 apache2+mod_php的性能众说纷纭
据我个人测试,前者比后者有50%以上的优势,当然可能不具有普遍性.
消耗系统资源上来说,lighttpd要小得多,尤其在amd64位环境下,apache2+mod_php是很耗内存的.
因此我选择了前者搭建服务器运行环境.
安装方式,在FreeBSD下选择从ports安装最方便了.
[b]1.先同步到最新的ports树.[/b]
在用户目录下建 ports-supfile 文件,内容为:
[code]*default host=cvsup3.cn.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
ports-all[/code]
[code]cvsup -L 2 -g ~/ports-supfile[/code]
[b]2. 安装lighttpd[/b]
进入相应ports目录
[code]cd /usr/ports/www/lighttpd[/code]
编译选项,一般默认就可以了,如果需要ssl,把OPENSSL选上
[code]make config[/code]
开始编译
[code]make[/code]
安装
[code]make install[/code]
[b]3. 安装php5[/b]
[code]cd /usr/ports/lang/php5[/code]
编译选项, FASTCGI一定要选,其它看着办.
[code]make config[/code]
编译 安装
[code]make
make install[/code]
[b]4. 安装php扩展[/b]
光php当然不够,有些扩展是必不可少的
[code]cd /usr/ports/lang/php5-extensions[/code]
选择你需要的扩展
[code]make config[/code]
开始编译,安装
[code]make
make install[/code]
在make过程中,可能会有一些扩展编译失败,没关系,如果这个扩展不是必需的,那么回到
/usr/ports/lang/php5-extensions , 重新 make config ,把该扩展去掉, 再make
[b]5. [/b]通常到这里都不会有什么问题,剩下来的工夫就是lighttpd 和 php的配置了
[b]5.1 lighttpd的配置[/b]
配置文件在 /usr/local/etc/lighttpd.conf
配置文档在 [url]http://www.lighttpd.net[/url] 都可以找到,这里给出和php相关的配置
[code]fastcgi.server = ( ".php" =>
(( "socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"min-procs" => 1,
"max-procs" => 1,
"max-load-per-proc" => 4,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "64",
"PHP_FCGI_MAX_REQUESTS" => "10000" ),
"bin-copy-environment" => (
"PATH", "SHELL", "USER" ),
"broken-scriptfilename" => "enable",
"idle-timeout" => 20
))
)[/code]
bin-path是php-cgi程序所在路径,
如果服务器负荷很重,每天几十万访问量,那么要增大 PHP_FCGI_CHILDREN的值.
[b]5.2 配置php,[/b]
配置文件在 /usr/local/etc/php.ini
没什么好说的了,玩php的配这个总会的
[b]5.3 运行lighttpd[/b]
[code]/usr/local/rc.d/lighttpd start[/code]
开机自动启动
/etc/rc.conf 加入
[code]lighttpd_enable="YES"[/code]