linux nginx php-cgi,nginx 0.6.3 安装与配置(linux,nginx,php-cgi)

nginx 配置时只需引用下载后解压的 PCRE 和 ZLIB 源文件即可:

./configure –prefix=/usr/local/nginx –with-pcre=/backup/pcre-7.7 –with-zlib=/backup/zlib-1.2.3      在网上看到的另一种方法是:

Nginx的编译参数如下:

[root@localhost]#./configure –prefix=/usr/local/server/nginx –with-openssl=/usr/include \

–with-pcre=/usr/include/pcre/ –with-http_stub_status_module –without-http_memcached_module \

–without-http_fastcgi_module –without-http_rewrite_module –without-http_map_module \

–without-http_geo_module –without-http_autoindex_module在这里,需要说明一下,由于Nginx的配置文件中我想用到正则,所以需要pcre模块的支持。我已经安装了pcre及pcre-devel的rpm包,但是 Ngxin 并不能正确找到 .h/.so/.a/.la 文件,因此我稍微变通了一下:

[root@localhost]#mkdir /usr/include/pcre/.libs/

[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.a

[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.la然后,修改objs/Makefile大概在908行的位置上,注释掉以下内容:

./configure –disable-shared接下来,就可以正常执行make及make install了。      看样子是比较麻烦的。另外一个问题是 md5 sha1 这两个东西 nginx 真的需要么???在网上查了一篇文章作参考吧:

(选择 –with-md5 或 –with-sha1 中的一个, 但不能都选; 在 debian 和 ubuntu 上, 它们应该都指向 /usr/lib)

(注: 根据 October 2006 message 的消息,md5 在一个现在不再使用的 http 缓存模块中用到,而 sha1 用在一个未完成的 mysql 库模块,所以它们当前都不是必须的)      其实想想也是,php 网站开发中的加密功能 php 都提供了,而 nginx 本身也不使用此功能。所以在配置的时候不用加入加密的选项了。

----------------------------------------

nginx 0.6.3 配置

这里要借用一下 lighttpd 的 spawn-fcgi 文件,将其下载编译安装后拷贝到 /usr/bin 目录下面备用:

php-fastcgi 文件配置:

#!/bin/sh

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nobody -f /usr/local/php/bin/php-cgi注意用户是 nobody, -f 后面是 php 提供的 cgi 解析程序路径

fcgi.init 文件配置:

#!/bin/bash

PHP_SCRIPT=/usr/bin/php-fastcgi

RETVAL=0

case “$1″ in

start)

$PHP_SCRIPT

RETVAL=$?

;;

stop)

killall -9 php

RETVAL=$?

;;

restart)

killall -9 php

$PHP_SCRIPT

RETVAL=$?

;;

*)

echo “Usage: php-fastcgi {start|stop|restart}”

exit 1

;;

esac

exit $RETVALnginx 启动文件 nginx.sh 配置:

#!/bin/sh

/backup/fcgi.init start

/usr/local/nginx/sbin/nginx配置后:

The page you are looking for is temporarily unavailable.

Please try again later.这是 php-fastcgi 里面的 /usr/bin/spawn-fcgi 没有正常启动,将用户 root 改为 nobody,再启动一次,正常了。

这次显示:

No input file specified.解决方案:

要么:

fastcgi_param SCRIPT_FILENAME /ngweb/$fastcgi_script_name; # nginx.conf

fastcgi_param SCRIPT_NAME $fastcgi_script_name; # fastcgi_params

要么:

fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; # nginx.conf

fastcgi_param SCRIPT_NAME /ngweb/$fastcgi_script_name; # fastcgi_params

/ngweb 是网站目录,是要解析的 PHP 文件所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值