1 源码安装php7
下载php7
./configure --eable fpm --prefix=路径(指定路径,所有的文件会安装在这里。不然会文件会分散到别的地方)
make & make install
完成php的安装
(如果想要按照php扩展可以用pecl命令或者phpize命令来按照)
2 安装nginx
yum install nginx
开启nginx
/etc/init.d/nginx star
3 开启php-fpm
whereis php-fpm
启动命令是:
/usr/local/php/sbin/php-fpm
报错了:
[26-Feb-2015 15:39:55] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[26-Feb-2015 15:39:55] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[26-Feb-2015 15:39:55] ERROR: FPM initialization failed
错误信息说找不到 php-fpm.conf
哦,原来是php-fpm.conf还没有,我们到 /usr/local/php/etc目录下将php-fpm.conf.default拷贝也一份成php-fpm.conf
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
编辑一下这个配置文件:
vim php-fpm.conf
pid = run/php-fpm.pid
user = www
group = www
再次尝试启动:
/usr/local/php/sbin/php-fpm
再次报错说www 用户不存在:
[26-Feb-2015 15:57:38] ERROR: [pool www] cannot get uid for user 'www'
[26-Feb-2015 15:57:38] ERROR: FPM initialization failed
好,那我们新建www 用户组:
groupadd www
useradd -g www www
再次启动:
/usr/local/php/sbin/php-fpm
没有任何的输出,表示成功了!!!
php-fpm占用的是9000端口,我们查看下进程:
[root@localhost php-5.4.11]# ps -ef|grep php-fpm
root 1377 1231 0 11:19 pts/1 00:00:00 grep php-fpm
root 29249 1 0 06:22 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www 29250 29249 0 06:22 ? 00:00:00 php-fpm: pool www
www 29251 29249 0 06:22 ? 00:00:00 php-fpm: pool www
root 32132 6158 0 08:25 pts/2 00:00:00 vi php-fpm.conf
[root@localhost php-5.4.11]# netstat -tnl | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
[root@localhost php-5.4.11]#
好,安装和启动都OK了。
开机启动 php-fpm
之前接说过php-fpm是独立于web服务器和php之前的一层服务器,所以,我们需要开机启动它
开机启动的配置文件是:/etc/rc.local ,加入 /usr/local/php/sbin/php-fpm 即可
[root@localhost init]# vi /etc/rc.local
1 #!/bin/sh
2 #
3 # This script will be executed *after* all the other init scripts.
4 # You can put your own initialization stuff in here if you don't
5 # want to do the full Sys V style init stuff.
6
7 touch /var/lock/subsys/local
8 /usr/local/apache/bin/apachectl start
9 /usr/local/bin/redis-server /etc/redis.conf
10 /usr/local/php/sbin/php-fpm
光安装好php-fpm也是没用的,得配合web服务器使用,下一节,我要学习nginx的安装,以及nginx连接php-fpm来使用php。
php-fpm的启动配置在www.conf里面可以对里面的参数进行设置
4 配置nginx解析php