免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2531 | 回复: 0
打印 上一主题 下一主题

nginx 0.6.3 安装与配置(linux,nginx,php-cgi) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-03 23:52 |只看该作者 |倒序浏览

                       
                               
nginx 的 rewrite 网站页面地址重写功能需要正则表达式模块
PCRE
,另外页面压缩传输需要
zlib

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 $RETVAL
nginx 启动文件 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 文件所在。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21717/showart_1102565.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP