RHEL5+nginx+fastcgi+php实现lnmp环境

准备

kill本机的80端口

nginx-1.5.1.tar.gz安装包  www.wiki.nginx.org

php运行管理脚本

##

#!/bin/sh
#
# php-cgi - php-fastcgi swaping via spawn-fcgi
#
# chkconfig:   - 85 15
# description:  Run php-cgi as appserver
# processname: php-cgi
# config:      /etc/sysconfig/phpfastcgi(defaults RH style)
# pidfile:     /var/run/php_cgi.pid
# Note: See how to use this script :
# http://www.cyberciti.biz/faq/rhel-fedora-install-configure-nginx-php5/
# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

spawnfcgi="/usr/bin/spawn-fcgi"
php_cgi="/usr/bin/php-cgi"
prog=$(basename $php_cgi)
server_ip=127.0.0.1
server_port=9000
server_user=nginx
server_group=nginx
server_childs=5
pidfile="/var/run/php_cgi.pid"

# do not edit, put changes in /etc/sysconfig/phpfastcgi
[ -f /etc/sysconfig/phpfastcgi ] && . /etc/sysconfig/phpfastcgi

start() {
   [ -x $php_cgi ] || exit 1
   [ -x $spawnfcgi ] || exit 2
   echo -n $"Starting $prog:"
   daemon $spawnfcgi -a ${server_ip} -p${server_port} -u ${server_user} -g ${server_group} -P ${pidfile} -C${server_childs} -f ${php_cgi}
   retval=$?
   echo
   return $retval
}

stop() {
   echo -n $"Stopping $prog:"
   killproc -p ${pidfile} $prog-QUIT
   retval=$?
   echo
   [ -f ${pidfile} ] && /bin/rm-f ${pidfile}
   return $retval
}

restart(){
   stop
   sleep 2
   start
}

rh_status(){
   status -p ${pidfile} $prog
}

case "$1" in
   start)
       start;;
   stop)
       stop;;
   restart)
       restart;;
   status)
       rh_status;;
   *)
       echo $"Usage: $0{start|stop|restart|status}"
       exit 3
esac

1,源码安装nginx

tar fzvx nginx-1.5.1.tar.gz -C /usr/src

./configure --prefix=/usr/local/nginx

make

make install

2,启动nginx 测试

/usr/local/nginx/sbin/nginx

lsof -i :80

echo 'nginx welcome' > html/index.htm

http://localhost

3, 利用yum安装php,mysql

yum install php php-mysql php-pdo php-cli mysql mysql-server

4,下载spawn-fcgi-1.6.3-1.el5.i386.rpm 工具包并安装

**使php模块作为本机内存运行的服务**

rpm -ivh spawn-fcgi-1.6.3-1.el5.i386.rpm

5,下载运行php服务的管理脚本放在/etc/init.d/php下以便能用service命令启用

cp php_cgi /etc/init.d/php

chmod +x /etc/init.d/php

useradd nginx

service php start

lsof -i :9000

6,添加php网页phpinfo.php测试页面在/usr/local/nginx/html下

 <?php phpinfo(); ?>  

7,修改nginx主配文件

Vim /uar/local/nginx/conf/nginx.conf    

  location ~ \.php$ {

       root           html;

       fastcgi_pass   127.0.0.1:9000;         fastcgi_index  index.php;

       fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;         include        

      fastcgi_params;     }

8,测试在浏览器中运行php网页phpinfo.php

http://localhost/phpinfo.php。