确定依赖包安装
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
从官网获取,编译安装
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
[[email protected] ~]# wget http://de2.php.net/get/php-5.5.38.tar.gz/from/this/mirror
[[email protected] ~]# tar -zxvf php-5.5.38.tar.gz
[[email protected] 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.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[[email protected] ~]# make
[[email protected] ~]# make install
[[email protected] ~]# cd php-5.5.38
[[email protected] php-5.5.38]# cp php.ini-production /usr/local/php-5.5.0/etc/php.ini
[[email protected] php-5.5.38]# cd /usr/local/php-5.5.0/etc/
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf
[[email protected] etc]# cd /usr/local/php-5.5.0/sbin
[[email protected] sbin]# ./php-fpm
|
Nginx与php连接
要点:
1:Nginx 默认支持 fastcgi
2:php编译开启模块:
--enable-fpm
连接:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[[email protected] ~]# 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:
|
1
2
|
[[email protected] ~]# cd /usr/local/nginx/sbin
[[email protected] sbin]# ./nginx -s reload
|
添加php测试文件:
|
1
2
3
|
[[email protected] ~]# cd /usr/local/nginx/html
[[email protected] ~]# touch info.php
[[email protected] ~]# vim info.php
|
|
1
2
3
|
<?phpphpinfo();?> |
浏览器测试:
将pid文件存于var/run中
|
1
2
|
[[email protected] ~]# vim /usr/local/php-5.5.0/etc/php-fpm.conf
pid = run/php-fpm.pid
|
配置开机启动php-fpm
并可用service php-fpm [start | restart | stop]开启、重启、关闭
|
1
|
[[email protected] ~]# vim /etc/init.d/php-fpm
|
将下列脚本写入/etc/init.d/php-fpm中,12-15行的路径自己修改
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!/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任何用户可执行权限
|
1
|
[[email protected] ~]# chmod a+w /etc/init.d/php-fpm
|
设置开机启动
|
1
|
[[email protected] ~]# chkconfig php-fpm on
|
本文转自谢育政 51CTO博客,原文链接:http://blog.51cto.com/kurolz/1927720,如需转载请自行联系原作者