确定依赖包安装
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
|
[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
连接:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[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:
1
2
|
[root@kurolz ~]
# cd /usr/local/nginx/sbin
[root@kurolz sbin]
# ./nginx -s reload
|
添加php测试文件:
1
2
3
|
[root@kurolz ~]
# cd /usr/local/nginx/html
[root@kurolz ~]
# touch info.php
[root@kurolz ~]
# vim info.php
|
1
2
3
|
<?php
phpinfo();
?>
|
浏览器测试:
将pid文件存于var/run中
1
2
|
[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]开启、重启、关闭
1
|
[root@kurolz ~]
# 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
|
[root@kurolz ~]
# chmod a+w /etc/init.d/php-fpm
|
设置开机启动
1
|
[root@kurolz ~]
# chkconfig php-fpm on
|
本文转自谢育政 51CTO博客,原文链接:http://blog.51cto.com/kurolz/1927720
,如需转载请自行联系原作者