快捷搜索:  xxx  as  推理研究所  幼幼  侦探研究所

云顶娱乐手机版yd111:在ZeusWebServer中安装PHP语言支持



媒介

Zeus是一个运行于Unix下的异常优秀的Web Server,而PHP则是Unix下一个异常优秀的后台脚本说话。 这两个产品都是为异常爱好的产品。为什么要写这样的一个Howto呢?是由于有大年夜量的网站脚本是应用PHP开拓的, 而这些法度榜样运行在Zeus下也是一个异常好的选择。写这份文档的目的在于能让大年夜家的PHP系统优越的运行于Zeus办事器上。

很早的时刻我写过一份整合Zeus和PHP的文章,它主如果讲若何将PHP以FastCGI的本地调用要领来运行于Zeus中的, 本份Howto主如果来讲若何让PHP运行于Remote Responders要领下。由于这样会比以local要领有更高的可扩展性和运行效率。

筹备事情

首先你应该Zeus安装完成,也不会过多的讲若何安装和设置设置设备摆设摆设Zeus办事器本身,由于它的安装和设置设置设备摆设摆设其实是太简单了。

假如有可能,最好将ports应用cvsup来进级一下。

对付PHP依附的相关软件假如能提前装,则从ports中安装好。如MySQL、GD等。 安装fastcgi

留意,假如你安装的PHP的版本会低于4.3.0哪么你才必要这步。新的PHP版本已经内置了fastcgi的库。安装fastcgi的措施异常的简单:

root@~$cd /usr/ports/www/fcgi/

root@/usr/ports/www/fcgi$make;make install;make clean

编译完成后我们可以在/usr/local/lib目录中看到有libfcgi.a文件,同时在/usr/local/include目录中会有fastcgi的所有头文件。

编译PHP

编译PHP可以应用平日的PHP编译选项,下面是我应用的一个设置设置设备摆设摆设:

./configure --prefix=/usr/local/php --en云顶娱乐手机版yd111able-fastcgi --with-mysql=/usr/local

必要留意的是在PHP 4.3.0以上版本是应用的 --enable-fastcgi 选项,而PHP 4.3.0曩昔的版本应应用--with-fastcgi参数。

接着便是安装PHP到系统中:

make

make install

编译完成后,我们来测试一下安装的php是能精确运行:

root@~$cd /usr/local/php/bin/

root@/usr/local/php/bin$./php

这云顶娱乐手机版yd111时将进入php代码输入状态,输入

按ctrl-d运行后会见到php返回的信息则为精确。

设置设置设备摆设摆设FastCGI/PHP

设置设置设备摆设摆设FastCGI

进入Zeus治理节制台,打开必要设置设置设备摆设摆设的VHost设置设置设备摆设摆设。进入 API Support 中的 FastCGI 设置。在此中设置:

Enabling Support for FastCGI Programs : Enable

在Configuring FastCGI Remote Responders中设置:

Directory name : /usr/local/php/bin/php

Location: Machine name: localhost

Additional methods supported?:None

假如你的PHP利用不在本机,纵然PHP没有安装在本机上,哪么也要设置 Docroot path 参数,它可以不存在于响应的目录下。

都设置完成后,点击 Apply 按钮。 设置设置设备摆设摆设PHP解析指向

进入 URL Handling 中的 Handlers 设置。在 Adding a Handler 中设置以下参数:

File Extension : php

Specify the path and filename云顶娱乐手机版yd111 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 应和你上一步设置的 Directory name 值相同。

都设置完成后,点击 Apply 按钮。

所有的设置完成后应用vhost的commit功能将更 改提交并利用。这样Zeus就设置好了Fastcgi和PHP的相关参数。

设置设置设备摆设摆设FastCGI/PHP启动

在Zeus的rc.d目录中新建一个S05php的文件,内容为:

#!/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

在这个脚本中有以下内容必要视系统环境而 改动:

FPHPBIN=/usr/local/php/bin/php 应设置为php的路径

SEMFILE=/tmp/php.pid 天生php.pid的路径,该目录必须可写

PHP_FCGI_CHILDREN=100 php进程数目

PHP_FCGI_MAX_REQUESTS=1000 每个php的进程在云顶娱乐手机版yd111退出前能够相应的哀求数,用于开释资本 上云顶娱乐手机版yd111面两个根据硬件设置设置设备摆设摆设和网站造访量设置,默认值是8,500。 一样平常来说 PHP_FCGI_CHILDREN > 造访并发最大年夜值+10

PHP_FCGI_MAX_REQUESTS 假如设置过小,造访量大年夜的网站会由于php进程重起频繁增添负荷。

#echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range 只用于linux

--user=65534 --group=65534 为php进程运行的用户和组,一样平常设置为nobody用户和组FreeBSD是65534/65534,Linux是99/99

着末,将S05php文件设置为可履行文件,并将FastCGI/PHP运行起来:

chmod 755 S05php

./S05php start

一但启动后就会在ps -ax列表中显示出PHP_FCGI_CHILDREN+1个php进程。

到你的vhost对应的Docroot目录中建一个info.php文件,内容为:

应用浏览器造访vhost中的info.php文件,应该就可以看到PHP的info页面了。

附注

谢谢CCF的坛主hunreal写出的S05php脚本,它真的异常好用!

假如还有什么想懂得的可以到 Zeus PHP支持 页获得更多的信息。

注:任何转载或摘抄请注明文章出处(中文FreeBSD用户组 http://www.cnfug.org)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: