本節包括在 Unix 平台的 Lighttpd 1.4 下(xià)安裝 PHP 的說明(míng)和(hé)提示。
推薦閱讀 » Lighttpd trac 了(le)解一(yī)下(xià)正确安裝 Lighttpd 然後繼續。
推薦使用 FastCGI 作(zuò)為(wèi) SAPI 模塊來連接 PHP 和(hé) Lighttpd。 在 php-cgi 中自(zì)動啓用 FastCGI。
使 Lighttpd 産生 php 進程 ¶
要(yào)配置 Lighttpd 連接到 PHP 并産生 FastCGI 進程, 編輯 lighttpd.conf。 推薦使用套接字在本機連接 FastCGI 進程。
示例 #1 部分 lighttpd.conf
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
((
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 20
))
)
bin-path 指令允許 lighttpd 動态産生 FastCGI 進程。PHP 會根據 PHP_FCGI_CHILDREN 環境變量産生子進程。bin-environment 指令設定了(le)所産生的進行(xíng)的環境。PHP 會在達到 PHP_FCGI_MAX_REQUESTS 所指定的請(qǐng)求數(shù)目之後殺死一(yī)個子進程。在 PHP 中通(tōng)常應避免 min-procs 和(hé) max-procs 指令。PHP 自(zì)己管理其子進程,并且例如(rú) APC 之類的 opcode 緩存僅在 PHP 管理下(xià)的子進程之間(jiān)共享。如(rú)果 min-procs 被設定成某個大于 1 的值,則 PHP 應答(dá)器的總數(shù)目為(wèi)該值乘以 PHP_FCGI_CHILDREN(如(rú) min-procs 為(wèi) 2,PHP_FCGI_CHILDREN 為(wèi) 16 則會産生 32 個應答(dá)器)。
通(tōng)過 spawn-fcgi 産生進程 ¶
Lighttpd 提供一(yī)個名為(wèi) spawn-fcgi 的程序來簡化産生 FastCGI 進程的手續。
産生 php-cgi ¶
有可(kě)能(néng)不通(tōng)過 spawn-fcgi 來産生進程,但(dàn)需要(yào)做(zuò)些工(gōng)作(zuò)。設定 PHP_FCGI_CHILDREN 環境變量控制了(le) PHP 産生多少(shǎo)個子進程來處理請(qǐng)求。設定 PHP_FCGI_MAX_REQUESTS 将決定每個子進程存活多久(以請(qǐng)求數(shù)目決定)。 以下(xià)為(wèi)一(yī)個簡單的 bash 腳本來幫助産生 php 應答(dá)器。
示例 #2 産生 FastCGI 應答(dá)器
#!/bin/sh
# Location of the php-cgi binary
PHP=/usr/local/bin/php-cgi
# PID File location
PHP_PID=/tmp/php.pid
# Binding to an address
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Binding to a domain socket
FCGI_BIND_ADDRESS=/tmp/php.sock
PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000
env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
$PHP -b $FCGI_BIND_ADDRESS &
echo $! > "$PHP_PID"
連接遠程 FCGI 實例 ¶
FastCGI 實例可(kě)被産生于多個遠程機器以分散應用程序。
示例 #3 連接遠程 php-fastcgi 實例
fastcgi.server = ( ".php" =>
(( "host" => "10.0.0.2", "port" => 1030 ),
( "host" => "10.0.0.3", "port" => 1030 ))
)
網站建設開(kāi)發|APP設計開(kāi)發|小程序建設開(kāi)發