确定依赖包安装
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://kurol.blog.51cto.com/11433546/1927721
从官网获取,编译安装
[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.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/fpm/php-fpm.conf config.status: creating sapi/fpm/init.d.php-fpm config.status: creating sapi/fpm/php-fpm.service config.status: creating sapi/fpm/php-fpm.8 config.status: creating sapi/fpm/status.html config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.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
连接:
[root@kurolz ~]# vim /usr/local/nginx/conf/nginx.conf server { 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测试文件:
[root@kurolz ~]# cd /usr/local/nginx/html [root@kurolz ~]# touch info.php [root@kurolz ~]# vim info.php
<?php phpinfo(); ?>
浏览器测试:
将pid文件存于var/run中
[root@kurolz ~]# vim /usr/local/php-5.5.0/etc/php-fpm.conf pid = run/php-fpm.pid
配置开机启动php-fpm
并可用service php-fpm [start | restart | stop]开启、重启、关闭
[root@kurolz ~]# vim /etc/init.d/php-fpm
将下列脚本写入/etc/init.d/php-fpm中,12-15行的路径自己修改
#!/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.conf set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="php-fpm daemon" NAME=php-fpm DAEMON=/usr/local/php-5.5.0/sbin/php-fpm CONFIGFILE=/usr/local/php-5.5.0/etc/php-fpm.conf PIDFILE=/usr/local/php-5.5.0/var/run/php-fpm.pid SCRIPTNAME=/etc/init.d/php-fpm # If the daemon file is not found, terminate the script. test -x $DAEMON || exit 0 d_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" in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; reload) echo -n "Reloading $DESC configuration..." d_reload echo "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 stop sleep 2 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" >&2 exit 3 ;; esac exit 0
赋予php-fpm任何用户可执行权限
[root@kurolz ~]# chmod a+w /etc/init.d/php-fpm
设置开机启动
[root@kurolz ~]# chkconfig php-fpm on
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。