PHP5.6中php-fpm的配置、启动、关闭和重启

简介: 转:http://blog.csdn.net/field_yang/article/details/52401994 该文主要讲述:如何配置PHP-fpm、常见报错解决方法和php-fpm的启动、关闭和重启。

转:http://blog.csdn.net/field_yang/article/details/52401994

 

该文主要讲述:如何配置PHP-fpm、常见报错解决方法和php-fpm的启动、关闭和重启。

LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求。而php需要php-fpm这个组件提供该功能。在php5.3.3以前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3以后只需在编译安装时使用–enable-fpm加载该模块即可,无需另行安装。

[root@localhost php-5.6.25]#/usr/local/php/sbin/php-fpm

[29-Aug-2016 17:36:05] ERROR: failed toopen configuration file '/usr/local/php/etc/php-fpm.conf': No such file ordirectory (2)

[29-Aug-2016 17:36:05] ERROR: failed toload configuration file '/usr/local/php/etc/php-fpm.conf'

[29-Aug-2016 17:36:05] ERROR: FPMinitialization failed

 

启动php-fpm发现缺乏配置文件/usr/local/php/etc/php-fpm.conf

此时只需复制php-fpm的配置文件在安装php时提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相应目录下即可,此处有两种方法,均可提供配置文件,即分别将末班复制到/usr/local/php/etc/或者 /usr/local/etc/并重命名为php-fpm.conf

①  

[root@localhost etc]# cd /usr/local/php/etc/

[root@localhost etc]# ls

pear.conf php-fpm.conf.default

[root@localhost etc]# cp/usr/local/php/etc/php-fpm.conf/usr/local/etc/php-fpm.conf

利用/usr/local/php/sbin/php-fpm启动FPM

[root@localhost etc]# /usr/local/php/sbin/php-fpm

②  

[root@localhost etc]#cp php-fpm.conf.defaultphp-fpm.conf

[root@localhost etc]# /usr/local/php/sbin/php-fpm

 

至此php-fpm配置完成,鉴于fpm是置于PHP和Nginx之间的一层应用,所以配置成服务开机自启。

下面配置php-fpm以服务形式启动

[root@localhost etc]# cd /usr/local/php-5.6.25/

[root@localhost php-5.6.25]# cp./sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

[root@localhost php-5.6.25]# ll /etc/init.d/php-fpm

-rw-r--r-- 1 root root 2354 8月  3115:54 /etc/init.d/php-fpm

[root@localhost php-5.6.25]# chmod a+x/etc/init.d/php-fpm

[root@localhost php-5.6.25]# ll /etc/init.d/php-fpm

-rwxr-xr-x 1 root root 2354 8月  3115:54 /etc/init.d/php-fpm

[root@localhost php-5.6.25]# /etc/init.d/php-fpmstart

Starting php-fpm [31-Aug-2016 15:56:00]ERROR: unable to bind listening socket for address '127.0.0.1:9000': Addressalready in use (98)

[31-Aug-2016 15:56:00] ERROR: FPMinitialization failed

Failed

 

[root@localhost php-5.6.25]# netstat -tunlp |grep9000

tcp       0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      4928/php-fpm        

 [root@localhost etc]# /etc/init.d/php-fpm stop

Gracefully shutting down php-fpm warning,no pid file found - php-fpm is not running ?

关闭php-fpm服务时发现报错,缺乏pid文件,解决方法为编辑配置文件,启用pid文件

[root@localhost etc]# vim php-fpm.conf

pid = run/php-fpm.pid

[root@localhost etc]# kill -INT `cat/usr/local/php/var/run/php-fpm.pid`

cat: /usr/local/php/var/run/php-fpm.pid: 没有那个文件或目录

[root@localhost etc]# /etc/init.d/php-fpm stop

Gracefully shutting down php-fpm warning,no pid file found - php-fpm is not running ?

尝试关闭服务时再次报错,手动建立php-fpm.pid文件即可

[root@localhost etc]# cd /usr/local/php/var/run/

[root@localhost run]# vim php-fpm.pid

[root@localhost run]# ls

php-fpm.pid

[root@localhost run]# service php-fpm stop

Gracefully shutting down php-fpm . done

[root@localhost run]# service php-fpm start

Starting php-fpm done

[root@localhost run]# netstat -tunlp |grep 9000

tcp       0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      3008/php-fpm       

[root@localhost run]# kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

[root@localhost run]# netstat -tunlp |grep 9000

[root@localhost run]#  /etc/init.d/php-fpm start

Startingphp-fpm  done          

将服务添加到chkconfig列表,设置开机启动

[root@localhost run]# chkconfig --add php-fpm

[root@localhost run]# chkconfig php-fpm on

 

至此,php-fpm配置完成,下面提供两种控制方式

① PHP-FPM使用信号控制:

INT, TERM 立刻终止

QUIT 平滑终止

USR1 重新打开日志文件

USR2 平滑重载所有worker进程并重新载入配置和二进制模块

启动

[root@localhost run]# /usr/local/php/sbin/php-fpm

关闭:

[root@localhost run]# kill -INT `cat/usr/local/php/var/run/php-fpm.pid`

重启:

[root@localhost run]# kill -USR2 `cat/usr/local/php/var/run/php-fpm.pid`

②  

服务方式控制

Usage: /etc/init.d/php-fpm{start|stop|force-quit|restart|reload|status}

[root@localhost run]# service php-fpm start

Starting php-fpm done

[root@localhost run]# service php-fpm stop

Gracefully shutting down php-fpm . done

[root@localhost run]#  /etc/init.d/php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm done

[root@localhost run]#

 

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
安全 PHP 开发者
php中配置variables_order详解
`variables_order` 是 PHP 配置中的一个关键指令,它决定了不同来源的变量被导入到全局变量空间的顺序。正确配置 `variables_order` 不仅可以确保变量的正确处理和覆盖顺序,还能提高应用程序的安全性。开发者应根据具体应用的需求,合理配置 `variables_order`,确保应用的稳定和安全运行。
185 5
|
关系型数据库 MySQL PHP
php wampserver的使用配置
本文介绍了WampServer在Windows系统下的配置和使用方法,包括如何修改PHP时区为中国标准时区PRC、更改Apache服务器端口号以避免冲突、设置起始页以及如何创建和管理虚拟目录。通过这些步骤,用户可以更有效地在本地环境中开发和测试PHP程序。
php wampserver的使用配置
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
941 3
|
Unix PHP
PHP-FPM 配置
PHP-FPM 配置
277 5
|
IDE 安全 网络安全
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
604 4
|
监控 IDE PHP
php xdebug的配置、调试、跟踪、调优、分析
php xdebug的配置、调试、跟踪、调优、分析
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
428 0
|
6月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
408 0
PHP和Mysql前后端交互效果实现
|
11月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
514 17
|
12月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
350 18