centos6.5上部署PHP服务

标签:服务器, nginx, php

本文记录我在联通沃云服务器上部署PHP服务的过程,Nginx安装已在前篇文章中说明。本文主要说整合nginx和php的过程。

准备安装资源

[root@template ~]# cd ~/src/
[root@template src]# wget http://museum.php.net/php5/php-5.2.17.tar.gz
[root@template src]# wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz

安装PHP

[root@template src]#yum -y install libjpeg-devel libpng-devel libxml2-devel
[root@template src]# tar -xvzf php-5.2.17.tar.gz
[root@template src]# tar -xvzf php-5.2.17.tar.gz
[root@template src]# gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | sudo patch -d php-5.2.17 -p1
[root@template php-5.2.17]# cd php-5.2.17
[root@template php-5.2.17]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib  --enable-fastcgi --enable-fpm  --with-mysql=/usr/lib64/mysql --with-gd --enable-gd-native-ttf --with-zlib-dir=/usr/local/zlib --with-png-dir --with-jpeg-dir=/usr/local/jpeg6/ 

如果configure出现类似如下错误:

configure: error: libjpeg.(a|so) not found 
configure: error: libpng.(a|so) not found 
configure: error: Cannot find libmysqlclient under /usr.

请执行以下命令:

ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
ln -s /usr/lib64/libpng.so /usr/lib/libpng.so
mkdir /usr/lib/mysql
cp -r /usr/lib64/mysql /usr/lib/
[root@template php-5.2.17]# make
[root@template php-5.2.17]# make install
[root@template php-5.2.17]# cp php.ini-dist /usr/local/php/etc/php.ini
[root@template php-5.2.17]# vi /usr/local/php/etc/php-fpm.conf

把php-fpm.conf里带“nobody”的两行注释去掉,不然PHP-FPM自己不知道以那个用户和组运行PHP 启动php

[root@template ~]# /usr/local/php/sbin/php-fpm start

整合Nginx与PHP

修改nginx的配置文件 打开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_params;
#}

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

改为

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

找到

location / {
          root   html;
          index  index.html index.htm;
        }

在index.htm后面添加index.php

测试

我们在nginx的配置文件里面已经定义了PHP网站的存放路径,路径为/usr/local/nginx/html下面我们在这个目录下新建一个PHP页面网页,文件名为test.php,内容如下:

<?php
    phpinfo();
?>

重启PHP与nginx后,在浏览器中输入http://ip/test.php,查看是否可能解析PHP文件。

Written on 2016-04-20
上篇: centos6.5上部署django服务
下篇: 使用nginx实现负载均衡