确定依赖包安装
gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel
若没安装,挂载系统镜像,从Packages文件夹里面找到安装包安装,或者有yum源的话可直接yum install安装。
可利用镜像自己制作本地yum源:http://blog.csdn.net/hjxzt1/article/details/73741478
从官网获取,编译安装
1234567891011121314151617181920212223242526272829303132333435363738394041[ root@ kurolz ~ ]# wget http: // de2. php. net / get / php - 5.5.38. tar. gz / from / this / mirror[ root@ kurolz ~ ]# tar - zxvf php - 5.5.38. tar. gz[ root@ kurolz php - 5.5.38 ]# . / configure -- prefix= / usr / local / php - 5.5.0 -- with - config - file - path= / usr / local / php - 5.5.0 / etc -- with - bz2 -- with - curl -- enable - ftp-- enable - sockets -- disable - ipv6 -- with - gd -- with - jpeg - dir= / usr / local -- with - png - dir= / usr / local -- with - freetype - dir= / usr / local -- enable - gd - native - ttf -- with- iconv - dir= / usr / local -- enable - mbstring -- enable - calendar -- with - gettext -- with - libxml - dir= / usr / local -- with - zlib -- with - pdo - mysql= mysqlnd -- with - mysqli= mysqlnd -- with - mysql= mysqlnd -- enable - dom -- enable - xml -- enable - fpm -- with - libdir= lib64......creating main / internal_functions_cli. c+--------------------------------------------------------------------+| License: || This software is subject to the PHP License, available in this || distribution in the file LICENSE. By continuing this installation || process, you are bound by the terms of this license agreement. || If you do not agree with the terms of this license, you must abort || the installation process at this point. |+--------------------------------------------------------------------+Thank you for using PHP.config. status: creating php5. specconfig. status: creating main / build - defs. hconfig. status: creating scripts / phpizeconfig. status: creating scripts / man1 / phpize .1config. status: creating scripts / php - configconfig. status: creating scripts / man1 / php - config .1config. status: creating sapi / cli / php .1config. status: creating sapi / fpm / php - fpm. confconfig. status: creating sapi / fpm / init. d. php - fpmconfig. status: creating sapi / fpm / php - fpm. serviceconfig. status: creating sapi / fpm / php - fpm .8config. status: creating sapi / fpm / status. htmlconfig. status: creating sapi / cgi / php - cgi .1config. status: creating ext / phar / phar .1config. status: creating ext / phar / phar. phar .1config. status: creating main / php_config. hconfig. status: executing default commands[ root@ kurolz ~ ]# make[ root@ kurolz ~ ]# make install[ root@ kurolz ~ ]# cd php - 5.5.38[ root@ kurolz php - 5.5.38 ]# cp php. ini - production / usr / local / php - 5.5.0 / etc / php. ini[ root@ kurolz php - 5.5.38 ]# cd / usr / local / php - 5.5.0 / etc /[ root@ kurolz etc ]# cp php - fpm. conf. default php - fpm. conf[ root@ kurolz etc ]# cd / usr / local / php - 5.5.0 / sbin[ root@ kurolz sbin ]# . / php - fpm
Nginx与php连接
要点:
1:Nginx 默认支持 fastcgi
2:php编译开启模块:
--enable-fpm
连接:
12345678910111213141516[ root@ kurolz ~ ]# vim / usr / local / nginx / conf / nginx. confserver {listen 80;server_name localhost;location / {root html;index index. html index. php;}.......location ~ \. php$ {root html;fastcgi_pass 127.0.0.1: 9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}
重启nginx:
[root@kurolz ~]# cd /usr/local/nginx/sbin[root@kurolz sbin]# ./nginx -s reload
添加php测试文件:
123456[ root@ kurolz ~ ]# cd / usr / local / nginx / html[ root@ kurolz ~ ]# touch info. php[ root@ kurolz ~ ]# vim info. php<? phpphpinfo();? >
浏览器测试:
将pid文件存于var/run中
12[ root@ kurolz ~ ]# cd / usr / local / nginx / sbin[ root@ kurolz sbin ]# . / nginx - s reload
配置开机启动php-fpm
并可用service php-fpm [start | restart | stop]开启、重启、关闭
1[ root@ kurolz ~ ]# vim / etc / init. d / php - fpm
将下列脚本写入/etc/init.d/php-fpm中,12-15行的路径自己修改
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#!/bin/sh## php-fpm - this script starts and stops the php-fpm daemin## chkconfig: - 85 15# processname: php-fpm# config: /usr/local/php/etc/php-fpm.confset - ePATH= / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / binDESC= "php-fpm daemon"NAME= php - fpmDAEMON= / usr / local / php - 5.5.0 / sbin / php - fpmCONFIGFILE= / usr / local / php - 5.5.0 / etc / php - fpm. confPIDFILE= / usr / local / php - 5.5.0 / var / run / php - fpm. pidSCRIPTNAME= / etc / init. d / php - fpm# If the daemon file is not found, terminate the script.test - x $DAEMON || exit 0d_start() {$DAEMON - y $CONFIGFILE || echo - n " already running"}d_stop() {kill - QUIT ` cat $PIDFILE` || echo - n " no running"}d_reload() {kill - HUP ` cat $PIDFILE` || echo - n " could not reload"}case " $1 " instart )echo - n "Starting $DESC : $NAME "d_startecho ".";;stop )echo - n "Stopping $DESC : $NAME "d_stopecho ".";;reload )echo - n "Reloading $DESC configuration..."d_reloadecho "Reloaded.";;restart )echo - n "Restarting $DESC : $NAME "d_stop# Sleep for two seconds before starting again, this should give the nginx daemon some time to perform a graceful stopsleep 2d_startecho ".";;* )echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" > &2exit 3;;esacexit 0
赋予php-fpm任何用户可执行权限
1[ root@ kurolz ~ ]# chmod a + w / etc / init. d / php - fpm
设置开机启动
1[ root@ kurolz ~ ]# chkconfig php - fpm on