PHPEye开源社区 » PHP项目运营与系统管理 » [简述]FreeBSD下Lighttpd+fastcgi-php的安装
《Programming PHP》第二版上市
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]

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.