首页 > Linux, PHP > YUM安装Nginx并编译安装PHP5.3.8 with PHP-FPM

YUM安装Nginx并编译安装PHP5.3.8 with PHP-FPM

一、Nginx安装

安装Nginx可以采用YUM方法,Nginx官方提供的源可以保证安装最新版本的稳定程序

vim /etc/yum.repos.d/CentOS-Base.repo 添加以下YUM源信息

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

更新YUM缓存

yum makecache

安装Nginx

yum install nginx

控制Nginx运行:

通过YUM安装完毕Nginx后可以使用service命令管理,目前支持以下参数

service nginx {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}

二、编译安装PHP5.3.8 with PHP-FPM

PHP需要编辑安装,YUM自带源版本比较低,我们可以编译安装最新版PHP,从PHP5.3开始官方已经自带PHP-FPM功能,安装的时候带上参数 “–enable-fpm”即可

/php.5.3源文件目录/下执行

./configure –enable-fpm

make

make install

安装过程中可能提示找不到libxml2安装位置,需要先编译安装libxml2,请执行以下命令:

yum install libxml2

yum install libxml2-devel

重启PHP-FPM

php5.3.8 的PHP-FPM不再支持php-fpm 补丁具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

INT, TERM    立刻终止

QUIT    平滑终止

USR1    重新打开日志文件

USR2    平滑重载所有worker进程并重新载入配置和二进制模块

平滑重启: kill -USR2 `cat /var/run/php-fpm.pid`

三、为PHP编译添加新模块

编译php的时候可以通过命令 “./configure –with-libxxx”来编译安装相关模块,安装完毕后如果还需要添加模块可以通过以下步骤完成模块添加,我们以添加curl模块为例:

#cd /PHP源文件目录/ext/curl

#phpize (为重新编译新模块准备PHP环境参数)

#./configure –with-php-config=/php.ini文件路径/(根据当前php.ini环境编译生成模块,可略)

#make (此步将在 /PHP源文件目录/ext/curl/module/目录下面生成curl.so文件)

#cp /PHP源文件目录/ext/curl/module/curl.so /php的extension目录下/

#vim php.ini 添加 extension=curl.so

php-fpm重新加载php.ini即可生效

Q&A

  1. 默认PHP的配置文件是放在“/usr/local/lib/”目录下面的,默认安装采用php默认配置,无php.ini文件,请执行以下命令生成php.ini文件:

    #cp /php源文件目录/php.ini-production /usr/local/lib/php.ini

  2. Nginx执行静态文件正常,执行PHP文件报404错误:
    通常404错误是由php-fpm执行文件路径错误,请确认是否正确设置 “SCRIPT_FILENAME”参数,请修改”/etc/nginx/conf.d/default.conf”中参数:

    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    改为
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    
    location 的 root设置为绝对路径
分类: Linux, PHP 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

=3加6(必填)请输入两数相加的结果。