安装 php-fpm

我的机器是centos 6.2 之前就已经安装过了php 5.4.11,PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。我这里是5.4.11所以就可以直接用。

由于我php已经安装好了,而且之前编译的时候没有带上fpm模式,所以我必须找到源码重新编译一下:

要想使php支持php-fpm,只需要在编译的时候带上 --enable-fpm 就可以了。

所以,我需要找到之前的编译参数, 后面加上--enable-fpm ,重新编译下就可以了。之前就讲过,有2种方式可以找到之前的编译参数:

在源码 /lamp/php-5.4.11/中找到 config.nice,这个就是之前的编译参数
在php.ini配置文件中找到Configure相关的配置 : /usr/local/php/bin/php -i |grep 'Configure'

好,我们开始,找到之前的编译参数:

[root@localhost /]# cd /lamp/php-5.4.11 & vi config.nice
'./configure' \
'--prefix=/usr/local/php' \
'--with-config-file-path=/usr/local/php/etc/' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-mysql=/usr/local/mysql/' \
'--with-libxml-dir=/usr/local/libxml2/' \
'--with-png-dir=/usr/local/libpng/' \
'--with-jpeg-dir=/usr/local/jpeg8/' \
'--with-freetype-dir=/usr/local/freetype/' \
'--with-gd=/usr/local/gd/' \
'--with-zlib-dir=/usr/local/zlib/' \
'--with-mcrypt=/usr/local/libmcrypt/' \
'--with-mysqli=/usr/local/mysql/bin/mysql_config' \
'--enable-soap' \
'--enable-mbstring=all' \
'--enable-sockets' \

加上--enable-fpm后,重新编译:

[root@localhost /]# cd /lamp/php-5.4.11
[root@localhost php-5.4.11]# './configure' \'--prefix=/usr/local/php' \'--with-config-file-path=/usr/local/php/etc/' \'--with-apxs2=/usr/local/apache/bin/apxs' \'--with-mysql=/usr/local/mysql/' \'--with-libxml-dir=/usr/local/libxml2/' \'--with-png-dir=/usr/local/libpng/' \'--with-jpeg-dir=/usr/local/jpeg8/' \'--with-freetype-dir=/usr/local/freetype/' \'--with-gd=/usr/local/gd/' \'--with-zlib-dir=/usr/local/zlib/' \'--with-mcrypt=/usr/local/libmcrypt/' \'--with-mysqli=/usr/local/mysql/bin/mysql_config' \'--enable-soap' \'--enable-mbstring=all' \'--enable-sockets' \'--enable-fpm'
[root@localhost php-5.4.11] make && make install

启动 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.local1 #!/bin/sh2 #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't5 # want to do the full Sys V style init stuff.6 7 touch /var/lock/subsys/local8 /usr/local/apache/bin/apachectl start9 /usr/local/bin/redis-server /etc/redis.conf10 /usr/local/php/sbin/php-fpm

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

重启 php-fpm

我们在新安装扩展后,是需要重新php-fpm的,已使扩展生效。

最简单粗暴的重新php-fpm的方式是:

先找到php-fpm的进程号,kill 掉,再用/usr/local/php/sbin/php-fpm 这样启动。

其实还有更多温和的方法,就是使用信号。

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

示例:

php-fpm 关闭:

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重启:

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

https://www.zybuluo.com/phper/note/72879


php-fpm的安装和启动相关推荐

  1. php-fpm安装,启动,重启

    安装 php-fpm 我的机器是centos 6.2 之前就已经安装过了php 5.4.11,PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了.所以已经不需要另外下载了.我这里是5. ...

  2. 客快物流大数据项目(八):Docker的安装和启动

    目录 Docker的安装和启动 一.服务器规划 二.安装Docker 1.验证Linux内核版本 <

  3. vmware workstation 安装esx 启动vt功能

    vmware workstation 安装esx 启动vt功能,支持64bit虚拟机,如下所示: 转载于:https://blog.51cto.com/auqf12/1293587

  4. windows10下postgreSQL 下载、安装、启动、关闭

    windows10下postgreSQL 下载.安装.启动.关闭 下载 安装 l设置密码和端口,一直next直到安装完成 环境变量

  5. [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解

    本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议详解 , Kickstart (PXE+DHCP+TFTP+HTTP). PXE环境概述 作为中 ...

  6. Windows服务的安装,启动,停止和卸载

    直接贴代码如下 public class RunServices{/// <summary>/// 安装并启动服务/// </summary>/// <param nam ...

  7. Oracle 11g 基于CentOS7安装并启动em

    2019独角兽企业重金招聘Python工程师标准>>> Oracle 11g 基于CentOS7安装并启动em 1.可以在虚拟机或者服务器上安装centos,具体过程省略,建议使用最 ...

  8. MongoDB安装和启动

    环境:Linux,MongoDB版本2.2.2: MongoDB的安装和启动都比较简单 1.解压 mongodb-linux-i686-2.2.2.tgz 到/usr/local/目录下: 这里我的目 ...

  9. 永洪Desktop安装后启动提示缺少libv8_libbase.dll文件解决办法

    A:安装后启动产品时出现图中报错 2. 解决办法 下载对应的dll文件,将其放入对应的目录中 D:\Yonghong desktop\YonghongBI\Yonghong\vooltdb\bin 附 ...

  10. SVN的安装和启动SVN的安装

    SVN的安装和启动SVN的安装 i. windows下安装SVN 首先要先下载SVN服务器,下载地址https://www.visualsvn.com/downloads/ 下载软件VisualSVN ...

最新文章

  1. linux 自动提权perl脚本
  2. 【蓝桥杯官网试题 - 真题训练】生命之树(树形dp)
  3. Tensorflow Lite人体姿势跟踪功能上线:基于PosNet的实时人体姿态估计
  4. SpringMVC入门(一)之HelloWorld(IDEA版)
  5. android评论数据如何返回@用户_教你如何用JavaScript来驯服服务端返回的数据
  6. [Spark]-编译(2.3.1)部署(YARN-Cluster)
  7. 正态分布下贝叶斯决策的特例(二)
  8. 贝壳完成在香港双重主要上市:市值超1200亿港元
  9. 小爱同学指令大全_小爱同学有趣的命令分享给大家
  10. Blender快捷键大全
  11. IMX8MQ MEK 开发板安卓 8.1-2.0.0 环境搭建过程记录
  12. Apollo客户端使用指南
  13. 细梳腾讯帝国幼年艰辛,竟几度面临夭折
  14. 机器学习:PageRank
  15. java 彩色图片变为灰色,即图片灰度化
  16. 深入理解Seq2seq模型(Sequence2sequence)
  17. 复变函数与积分变换(五)学习笔记[孤立奇点,留数,零点与奇点,无穷远点的留数,留数计算的应用]
  18. 图像区分平坦区域、边缘、角点区域
  19. bzoj2733 [HNOI2012]永无乡
  20. SpringBoot实战之集成JSP模板展示(三)

热门文章

  1. 假设检验方法-T检验、Z检验、F检验、卡方检验
  2. java integer最大值_Integer的最大值
  3. 这37个自学网站,一年让你省下十几万。钱买辆车他不香嘛
  4. html chm用浏览器打开方式,访问chm文件出现 已取消到该网页的导航的解决方法
  5. DS18B20温度传感器c语言编程,单片机中使用DS18B20温度传感器C语言程序(参考7)(DS18B20 测...
  6. 电脑主板各部件详细图解
  7. 高端游戏计算机配置单,2021年高端游戏电脑配置清单推荐
  8. 您已购买此 App 内购买项目。此项目将免费恢复。This In-App purchase has already been bought.It will be restored for free.
  9. cba比赛比分预测_昨日预测CBA一红一黑,今日继续给大家带来CBA全部比赛4场
  10. c# 使用Entity Framework操作Access数据库