Linux-rhel6.4 编译安装PHP,Nginx与php连接

确定依赖包安装

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


从官网获取,编译安装

 
 
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:

[root@kurolz ~]# cd /usr/local/nginx/sbin[root@kurolz sbin]# ./nginx -s reload


添加php测试文件:

 
 
1
2
3
4
5
6
[ root@ kurolz  ~ ]cd  / usr / local / nginx / html
[ root@ kurolz  ~ ]touch  info. php
[ root@ kurolz  ~ ]vim  info. php
<? php
phpinfo();
? >


浏览器测试:

wKioL1kfGlWDkef3AAD-ahlCg6E388.png-wh_50



 

将pid文件存于var/run中

 
 
1
2
[ 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行的路径自己修改

 
 
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值