1 安装PHP所需要的扩展
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel gd gd-devel
2 安装PHP(只支持nginx 不支持apache)
tar -jxvf php-5.3.27.tar.bz2 cd php-5.3.27
./configure --prefix=/usr/local/php5.3 --disable-debug --enable-shared --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-libxml-dir --with-openssl --with-bz2 --with-mcrypt --enable-gd-native-ttf --with-curl --with-zlib-dir -with-gettext --with-jpeg-dir --with-png-dir --with-bz2 --with-freetype-dir --with-iconv --with-config-file-path=/usr/local/php5.3/etc --enable-mbstring --with-gd --disable-debug --enable-short-tags --disable-posix --enable-exif --enable-ftp --enable-sockets --with-mhash --enable-zip
make make install cp php.ini-production /usr/local/php5.3/etc/php.ini
设置 /usr/local/php/etc/php-fpm.conf 里面的内容 根据实际情况修改
vi /etc/init.d/php-fpm (内容可以根据实际情况修改)
#!/bin/bash # chkconfig: 2345 10 90 # description: php-fpm is a FastCGI web server. # processname: php-fpm # config: /usr/local/php/etc/php-fpm.conf # pidfile: /var/run/php-fpm.pid #======================================================================================= PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin BINFILE="/usr/local/php/sbin/php-fpm" CFGFILE="/usr/local/php/etc/php-fpm.conf" PIDFILE="/var/run/php-fpm.pid" LOCKFILE="/var/lock/php-fpm.lock" RETVAL=0 start() { [[ -x $BINFILE ]] || exit 5 [[ -f $CFGFILE ]] || exit 6 if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -gt 0 ]]; then echo "The php-fpm is already running." return 1 fi $BINFILE -t >/dev/null 2>&1 if [[ $? -ne 0 ]]; then echo "The php-fpm configure has error." return 1 fi echo -n "Starting php-fpm......" $BINFILE -y $CFGFILE -g ${PIDFILE} RETVAL=$? echo [[ $RETVAL -eq 0 ]] && touch $LOCKFILE return $RETVAL } stop() { if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then echo "The php-fpm is not running." return 1 fi echo -n "Shutting down php-fpm......" if [[ -f $PIDFILE ]]; then kill -QUIT `cat ${PIDFILE}` else kill -QUIT `ps aux | grep php-fpm | awk '/master/{print $2}'` fi RETVAL=$? echo [[ $RETVAL -eq 0 ]] && rm -f $LOCKFILE $PIDFILE return $RETVAL } restart() { stop sleep 1 while true do if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then start break fi sleep 1 done RETVAL=$? echo return $RETVAL } reload() { if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then echo "The php-fpm is not running." return 1 fi echo -n $"Reloading php-fpm......" if [[ -f $PIDFILE ]]; then kill -USR2 `cat ${PIDFILE}` else kill -USR2 `ps aux | grep php-fpm | awk '/master/{print $2}'` fi RETVAL=$? echo return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; *) echo "Usage: service php-fpm {start|stop|restart|reload}" RETVAL=1 esac exit $RETVAL
设置php-fpm开机启动
chmod 755 /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on /etc/init.d/php-fpm start
接下来就是配置 nginx支持php文件的访问