linux 配置nginx+php-cgi

一.准备工作

nginx源码包: http://www.nginx.org/download/nginx-0.7.65.tar.gz

php源码包:http://ah.down.chinaz.com/201302/php-5.3.22.tar.gz

安装一些必要的系统软件包

yum install pcre-devel.i386

yum install openssl-devel.i386

yum install libxml2-devel.i386

要区分64位机跟32位机,

我的linux 内核是:2.6.32-279.el6.x86_64

二.安装nginx

解压nginx

tar zxvf nginx-0.7.65.tar.gz

进入nginx源码目录

cd nginx-0.7.65

配置nginx编译文件

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

编译并安装nginx

make && make install

nginx的安装目录被设置在 =/usr/local/nginx

运行nginx

/usr/local/nginx/sbin/nginx

nginx 安装初步完成,此时可以用 ip 访问到欢迎界面。(http://IP(linux)).

安装过程遇到的问题:

1.pcre包没有安装 执行:yum install pcre-devel.x86_64

2../configure: error: the HTTP cache module requires md5 functions

原因是需要OpenSSL library

解决办法:yum -y install openssl openssl-devel

三.安装php

在开始编译前,安装一些php基本的软件包,直接yum安装。

yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql mysql-devel

准备好后,进行php目录进行编译

1.解压php软件包

2. ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --enable-debug --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-curl --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config

如果没有mysql,可以去掉最后两个选项

3.make && make install

cp php.ini-development /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

安装完成后即可启动php了

/usr/local/php/sbin/php-fpm

运行后,未提示错误,启动成功。

安装过程中遇到的问题:

1.configure: error: xml2-config not found. Please check your libxml2 installation.

解决办法:

1.yum install libxml2

2.yum install libxml2-devel -y

php安装成功

三.修改配置

编辑 /usr/local/nginx/conf/nginx.conf

1.找到 server 片段

server {

......

}

2.server_name 的参数修改成自己的域名

server_name www.elepin.com;

3.root 改成自己要绑定的目录,index指明哪些文件作为首页

location / {

root /usr/www;

index index.html index.htm index.php;

}

下面是php-cgi的连接配置,root跟上面的一样, fastcgi_pass,fastcgi_index,include 都默

认,要改的是 fastcgi_param,参照下面

location ~ \.php$ {

root /usr/www;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

include fastcgi_params;

}

打开nginx配置文件找到下面这段配置

vi /usr/local/nginx/conf/nginx.conf

# location ~ \.php$ {

# root html;

# fastcgi_pass 127.0.0.1:9000;

# fastcgi_index index.php;

# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

# include fastcgi_param;

# }

将这段配置的注释去掉,并将include fastcgi_param改为include fastcgi.conf

保存重启nginx

/usr/local/nginx/sbin/nginx -s reload

默认web目录是html文件夹,在下面新建一个测试文件

touch /usr/local/nginx/html/test.php

vi /usr/local/nginx/html/test.php

写入<?php phpinfo();?>

保存后,在浏览器中访问该页,如显示php配置信息,则大功告成。

重启nginx

killall nginx

/usr/local/nginx/sbin/nginx