Lighttpd 1.5 fastcgi php mod 代理后端 fastcgi 配置方法
旧版本 1.4.xx 有适用于 PHP 的mod_fastcgi。在 Lighttpd 1.5.xx 中,此模块已被 mod_proxy_backend_fastcgi 和 mod_proxy_core 取代。
FastCGI 由FastCGI开发,是围绕 HTTP 请求的二进制容器,可减少解析开销。
FastCGI 用于 PHP 和 rails 应用程序。在这篇小指南中,我将解释如何在 Lighttpd 1.5.xx 下配置 PHP。
所需软件
[a] 确保已安装 Lighttpd v1.5.xx [b] spawn-fcgi二进制文件(lighttpd 软件的一部分)用于生成 fastcgi 进程。它用于生成远程/本地 FastCGI 进程,例如 PHP 或 ruby。PHP 编译/安装为 fastcgi。输入以下命令以验证 php 是否安装为 fastcgi 二进制文件(查找cgi-fcgi字词):$ php-cgi -v
或
$ php -v
输出:
PHP 5.1.6 (cgi-fcgi) (built: Mar 9 2007 07:25:36) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
mod_proxy_backend_fastcgi 配置
打开配置文件 /etc/lighttpd/lighttpd.conf
# vi /etc/lighttpd/lighttpd.conf
确保已加载以下模块:
server.modules += ( "mod_proxy_core", "mod_proxy_backend_fastcgi" )
通过附加以下配置指令来配置 fastcgi PGP 模块:
$HTTP["url"] =~ "\.php$" { proxy-core.balancer = "round-robin" proxy-core.allow-x-sendfile = "enable" proxy-core.check-local = "enable" proxy-core.protocol = "fastcgi" proxy-core.backends = ( "unix:/tmp/php-fastcgi.sock" ) proxy-core.max-pool-size = 16 }
保存并关闭文件。
任务:启动lighttpd
键入以下命令使用 spawn-fcgi 交换 php:
# /usr/bin/spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u lighttpd -g lighttpd -C 5 -P /var/run/spawn-fcgi.pid
启动/重启 lighttpd:
# /etc/init.d/lighttpd start
任务:停止 lighttpd
输入以下命令:
# /etc/init.d/lighttpd stop
终止外部 php 进程:
# killall php-cgi
任务:修补 lighttpd init 启动脚本
由于 lighttpd 使用外部二进制文件来交换 php 或 ruby 应用程序,因此您需要通过修补 /etc/init.d/lighttpd 文件来添加停止和启动功能。您可以获取我的 /etc/init.d/lighttpd文件。
# cd /etc/init.d/
# mv lighttpd lighttpd.old
# wget http://www.example.com/files/lighttpd/1.5.0/lighttpd.init.d.txt
# mv lighttpd.init.d.txt lighttpd
# chmod +x lighttpd