php-fpm安装,启动,重启
安装 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.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
我们在新安装扩展后,是需要重新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`
php-fpm安装,启动,重启相关推荐
- mac 安装/启动/重启/停止 nginx
使用 Homebrew 进行安装: brew install nginx 结果展示: 检验安装成功与否: $ nginx -v nginx version: nginx/1.15.12 安装成功之后, ...
- Redis 安装 启动 连接 配置 重启
Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8.17.tar.g ...
- php fpm安装curl后,nginx出现connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied)的错误...
这里选择直接apt-get安装,因为比起自己编译简单多了,不需要自己配置什么 #sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 安装 ...
- 如何安装Windows操作系统?(二)安装启动项杂谈
(二)安装启动项杂谈 上面说到过,如何去选择启动项和硬件的选择. 其实在硬件没有问题的情况下,只要有一个能启动的项目就可以安装系统了. 从BIOS给出的启动项,我们可以看到以下几个启动项 1.光盘/软 ...
- oracle查看登录时间黑屏,oracle 11g默认用户名、密码解锁 以及安装后重启黑屏问题.doc...
oracle 11g默认用户名.密码解锁 以及安装后重启黑屏问题.doc 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 遇的同学,参考一下解 ...
- linux mysql 确认命令_LINUX启动/重启/停上MYSQL的命令(详解)
如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...
- nginx启动重启与升级以及检测配置文件
查看nginx的主进程号 ps -ef|grep nginx 从容停止nginx kill - QUIT nginx主进程号 或者 kill - QUIT nginx的pid文件所在,例如我的 [ro ...
- 使用nexus搭建maven私服(一)安装启动
文章目录 maven私服搭建 nexus简介 nexus下载 nexus的安装&启动 小小修改一下配置文件并启动 安装并启动的两种方式 方式一: 解压cmd启动 方式二: 安装启动建议3.x使 ...
- 基于ARM架构openEuler系统通过qemu模拟器自动安装启动ARM架构的openEuler虚拟机
[原文链接]基于ARM架构openEuler系统通过qemu模拟器自动安装启动ARM架构的openEuler虚拟机 文章目录 一.基础准备工作 二.自动创建基于dhcp自动获取ip地址的openEul ...
- linux双系统重启卡光标,Ubuntu 16.04安装完重启后黑屏,光标一直闪
原文:https://blog.csdn.net/weixin_38533896/article/details/81023690 版权声明:本文为博主原创文章,转载请附上博文链接! 按照百度经验里面 ...
最新文章
- [云炬创业基础笔记]第六章商业模式测试17
- python中items属性的用法
- CSS3属性之resize
- Android界面菜单(4)—快捷菜单
- NHibernate Linq中Null值排序的解决方法
- HTML5 Canvas游戏开发(二)高级功能
- 【HDOJ】3500 Fling
- javax.servlet.http.HttpServletResponse.setContentLengthLong(J)V,maven项目报错!!无法访问webapp下的文件,完美解决方案
- brpc访问MySQL_怎么使用Swoft 搭建微服务(TCP RPC)PHP中高级进阶
- allegro设置规则
- 今日头条android+x86,GitHub - teajoyus/TouTiao: 今日头条 For Android
- Ubuntu Linux系统Google日语输入法跨平台版Mozc安装笔记
- C 二维数组,以及自定义二维数组
- Halcon轮廓提取
- 无线射频专题《射频信号,射频的传输行为,吸收,放射,散射,折射,衍射,损耗,增益,多径现象》
- matlab解rlc电路方程,RLC电路matlab仿真.pdf
- 飞猪、去哪儿网被列入大数据“杀熟”名单,超50%的人遭遇过被“杀熟”
- Git/Github工作流 (workflow)
- 带你解锁蓝牙skill(二)
- sqlalchemy.exc.ArgumentError: Mapper mapped class NewsLoog->news_loog could not assemble any primary