nginx+php7配合开发

本文详细介绍了如何从源码安装PHP7,并通过php-fpm和Nginx实现PHP的高效运行。包括解决配置文件缺失、用户权限问题,以及如何在系统启动时自动运行php-fpm服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

报错了:

 
  1. [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)
  2. [26-Feb-2015 15:39:55] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
  3. [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

 
  1. cd /usr/local/php/etc/
  2. cp php-fpm.conf.default php-fpm.conf

编辑一下这个配置文件:

 
  1. vim php-fpm.conf
  2.  
  3. pid = run/php-fpm.pid
  4. user = www
  5. group = www

再次尝试启动:

/usr/local/php/sbin/php-fpm

再次报错说www 用户不存在:

 
  1. [26-Feb-2015 15:57:38] ERROR: [pool www] cannot get uid for user 'www'
  2. [26-Feb-2015 15:57:38] ERROR: FPM initialization failed

好,那我们新建www 用户组:

 
  1. groupadd www
  2. useradd -g www www

再次启动:

/usr/local/php/sbin/php-fpm

没有任何的输出,表示成功了!!!

php-fpm占用的是9000端口,我们查看下进程:

 
  1. [root@localhost php-5.4.11]# ps -ef|grep php-fpm
  2. root 1377 1231 0 11:19 pts/1 00:00:00 grep php-fpm
  3. root 29249 1 0 06:22 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
  4. www 29250 29249 0 06:22 ? 00:00:00 php-fpm: pool www
  5. www 29251 29249 0 06:22 ? 00:00:00 php-fpm: pool www
  6. root 32132 6158 0 08:25 pts/2 00:00:00 vi php-fpm.conf
 
  1. [root@localhost php-5.4.11]# netstat -tnl | grep 9000
  2. tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
  3. [root@localhost php-5.4.11]#

好,安装和启动都OK了。

开机启动 php-fpm

之前接说过php-fpm是独立于web服务器和php之前的一层服务器,所以,我们需要开机启动它

开机启动的配置文件是:/etc/rc.local ,加入 /usr/local/php/sbin/php-fpm 即可

 
  1. [root@localhost init]# vi /etc/rc.local
  2.  
  3. 1 #!/bin/sh
  4. 2 #
  5. 3 # This script will be executed *after* all the other init scripts.
  6. 4 # You can put your own initialization stuff in here if you don't
  7. 5 # want to do the full Sys V style init stuff.
  8. 6
  9. 7 touch /var/lock/subsys/local
  10. 8 /usr/local/apache/bin/apachectl start
  11. 9 /usr/local/bin/redis-server /etc/redis.conf
  12. 10 /usr/local/php/sbin/php-fpm

光安装好php-fpm也是没用的,得配合web服务器使用,下一节,我要学习nginx的安装,以及nginx连接php-fpm来使用php。

php-fpm的启动配置在www.conf里面可以对里面的参数进行设置

4 配置nginx解析php

  26bb77818409eca9c6073d514bd319ae4f2.jpg

 

 

转载于:https://my.oschina.net/u/588516/blog/2249558

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值