色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

在Zeus Web Server中安裝PHP語(yǔ)言支持

前言
Zeus是一個(gè)運(yùn)行于Unix下的非常優(yōu)秀的Web Server,而php則是Unix下一個(gè)非常優(yōu)秀的后臺(tái)腳本語(yǔ)言。 這兩個(gè)產(chǎn)品都是為非常喜歡的產(chǎn)品。為什么要寫(xiě)這樣的一個(gè)Howto呢?是因?yàn)橛写罅康木W(wǎng)站腳本是使用php開(kāi)發(fā)的, 而這些程序運(yùn)行在Zeus下也是一個(gè)非常好的選擇。寫(xiě)這份文檔的目的在于能讓大家的php系統(tǒng)良好的運(yùn)行于Zeus服務(wù)器上。
很早的時(shí)候我寫(xiě)過(guò)一份整合Zeus和php的文章,它主要是講如何將php以FastCGI的本地調(diào)用方式來(lái)運(yùn)行于Zeus中的, 本份Howto主要是來(lái)講如何讓php運(yùn)行于Remote Responders方式下。因?yàn)檫@樣會(huì)比以local方式有更高的可擴(kuò)展性和運(yùn)行效率。

準(zhǔn)備工作
首先你應(yīng)該Zeus安裝完成,也不會(huì)過(guò)多的講如何安裝和配置Zeus服務(wù)器本身,因?yàn)樗陌惭b和配置實(shí)在是太簡(jiǎn)單了。
如果有可能,最好將ports使用cvsup來(lái)升級(jí)一下。
對(duì)于php依賴的相關(guān)軟件如果能提前裝,則從ports中安裝好。如MySQL、GD等。 安裝fastcgi
注意,如果你安裝的php的版本會(huì)低于4.3.0哪么你才需要這步。新的php版本已經(jīng)內(nèi)置了fastcgi的庫(kù)。安裝fastcgi的方法非常的簡(jiǎn)單:

root@~$cd /usr/ports/www/fcgi/
root@/usr/ports/www/fcgi$make;make install;make clean
編譯完成后我們可以在/usr/local/lib目錄中看到有l(wèi)ibfcgi.a文件,同時(shí)在/usr/local/include目錄中會(huì)有fastcgi的所有頭文件。

 

編譯php
編譯php可以使用通常的php編譯選項(xiàng),下面是我使用的一個(gè)配置:

./configure --prefix=/usr/local/php --enable-fastcgi --with-mysql=/usr/local
需要注意的是在php 4.3.0以上版本是使用的 --enable-fastcgi 選項(xiàng),而php 4.3.0以前的版本應(yīng)使用--with-fastcgi參數(shù)。
接著就是安裝php到系統(tǒng)中:
make
make install
編譯完成后,我們來(lái)測(cè)試一下安裝的php是能正確運(yùn)行:

root@~$cd /usr/local/php/bin/
root@/usr/local/php/bin$./php
這時(shí)將進(jìn)入php代碼輸入狀態(tài),輸入

<? phpinfo(); ?>
按ctrl-d運(yùn)行后會(huì)見(jiàn)到php返回的信息則為正確。

配置FastCGI/php
配置FastCGI
進(jìn)入Zeus管理控制臺(tái),打開(kāi)需要配置的VHost配置。進(jìn)入 API Support 中的 FastCGI 設(shè)置。在其中設(shè)置:
Enabling Support for FastCGI Programs : Enable
在Configuring FastCGI Remote Responders中設(shè)置:
Directory name : /usr/local/php/bin/php
Location: Machine name: localhost
Additional methods supported?:None
如果你的php應(yīng)用不在本機(jī),即使php沒(méi)有安裝在本機(jī)上,哪么也要設(shè)置 Docroot path 參數(shù),它可以不存在于相應(yīng)的目錄下。
都設(shè)置完成后,點(diǎn)擊 Apply 按鈕。 配置php解析指向
進(jìn)入 URL Handling 中的 Handlers 設(shè)置。在 Adding a Handler 中設(shè)置以下參數(shù):

File Extension : php
Specify the path and filename of the handler, relative to the document root : /usr/local/php/bin/php
HTTP 404 errors are handled by : The handler
注意,這里的 Specify the path and filename of the handler, relative to the document root 應(yīng)和你上一步設(shè)置的 Directory name 值相同。
都設(shè)置完成后,點(diǎn)擊 Apply 按鈕。
所有的設(shè)置完成后使用vhost的commit功能將更 改提交并應(yīng)用。這樣Zeus就設(shè)置好了Fastcgi和php的相關(guān)參數(shù)。

配置FastCGI/php啟動(dòng)
在Zeus的rc.d目錄中新建一個(gè)S05php的文件,內(nèi)容為:

#!/bin/sh

# Script to start and stop the persistent php runner for FastCGI.
# Please check paths before use.

# FastCGI php binary
FphpBIN=/usr/local/php/bin/php

# Location to place semaphore
SEMFILE=/tmp/php.pid
php_FCGI_CHILDREN=100
php_FCGI_MAX_REQUESTS=1000
export php_FCGI_CHILDREN
export php_FCGI_MAX_REQUESTS

# This is Linux - use /proc to increase the local (ephemeral) port range
#echo 1024 65000 > /proc/sys/NET/ipv4/ip_local_port_range

if [ -z "$ZEUSHOME" ]
then
cd `dirname $0`/..
ZEUSHOME=`pwd`
export ZEUSHOME
fi

case "$1" in
'start')

if [ -e $SEMFILE ]
then
echo FastCGI php error: already running.Restart FastCGI php now
kill `cat $SEMFILE`
sleep 5
fi

if [ ! -x $FphpBIN ]
then
echo FastCGI php error: please check that $FphpBIN is executable and exists.
exit 1
fi

echo Starting FastCGI php.
$ZEUSHOME/web/bin/fcgirunner --user=65534 --group=65534 --pidfile=$SEMFILE 8002 $FphpBIN
;;

'stop')
if [ -e $SEMFILE ]
then
echo Stopping FastCGI php.
kill `cat $SEMFILE`
rm $SEMFILE
exit 0
fi

'restart')
if [ -e $SEMFILE ]
then
echo Stopping FastCGI php.
kill `cat $SEMFILE`
sleep 5
fi
echo Starting FastCGI php.
$ZEUSHOME/web/bin/fcgirunner --user=65534 --group=65534 --pidfile=$SEMFILE 8002 $FphpBIN

*)
echo "usage: $0 {start|stop|restart}"
;;

esac
exit 1

在這個(gè)腳本中有以下內(nèi)容需要視系統(tǒng)情況而 修改:

FphpBIN=/usr/local/php/bin/php 應(yīng)設(shè)置為php的路徑
SEMFILE=/tmp/php.pid 生成php.pid的路徑,該目錄必須可寫(xiě)
php_FCGI_CHILDREN=100 php進(jìn)程數(shù)目
php_FCGI_MAX_REQUESTS=1000 每個(gè)php的進(jìn)程在退出前能夠響應(yīng)的請(qǐng)求數(shù),用于釋放資源 上面兩個(gè)根據(jù)硬件配置和網(wǎng)站訪問(wèn)量設(shè)置,默認(rèn)值是8,500。 一般來(lái)說(shuō) php_FCGI_CHILDREN > 訪問(wèn)并發(fā)最大值+10
php_FCGI_MAX_REQUESTS 如果設(shè)置過(guò)小,訪問(wèn)量大的網(wǎng)站會(huì)因?yàn)?a href=/itjie/phpjishu/ target=_blank class=infotextkey>php進(jìn)程重起頻繁增加負(fù)荷。
#echo 1024 65000 > /proc/sys/NET/ipv4/ip_local_port_range 只用于linux
--user=65534 --group=65534 為php進(jìn)程運(yùn)行的用戶和組,一般設(shè)置為nobody用戶和組FreeBSD是65534/65534,Linux是99/99
最后,將S05php文件設(shè)置為可執(zhí)行文件,并將FastCGI/php運(yùn)行起來(lái):

chmod 755 S05php
./S05php start
一但啟動(dòng)后就會(huì)在ps -ax列表中顯示出php_FCGI_CHILDREN+1個(gè)php進(jìn)程。
到你的vhost對(duì)應(yīng)的Docroot目錄中建一個(gè)info.php文件,內(nèi)容為:
<?
phpinfo();
?>
使用瀏覽器訪問(wèn)vhost中的info.php文件,應(yīng)該就可以看到php的info頁(yè)面了。

 

附注
感謝CCF的壇主hunreal寫(xiě)出的S05php腳本,它真的非常好用!
如果還有什么想了解的可以到 Zeus php支持 頁(yè)得到更多的信息。

注:任何轉(zhuǎn)載或摘抄請(qǐng)注明文章出處(中文FreeBSD用戶組 http://www.cnfug.org)

 

php技術(shù)在Zeus Web Server中安裝PHP語(yǔ)言支持,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 迭部县| 吉安县| 长汀县| 册亨县| 镇赉县| 玉溪市| 崇礼县| 泽州县| 龙井市| 滦平县| 荣昌县| 林口县| 泸西县| 巢湖市| 九江县| 郁南县| 南平市| 察隅县| 朝阳区| 蒙山县| 合水县| 洛南县| 博乐市| 大理市| 若尔盖县| 黔西县| 三原县| 衡南县| 韶山市| 崇仁县| 浪卡子县| 宣恩县| 芜湖县| 定兴县| 潮州市| 留坝县| 内丘县| 巴林右旗| 康乐县| 邵阳市| 长宁县|