linux php7-fpm启动失败如何解决

linux php7-fpm启动失败的解决办法:1、修改“php-fpm.conf”文件中的“error_log”项;2、修改php的配置文件位置;3、将nginx修改为当前系统的用户名;4、直接创建nginx用户和用户组即可。

php-fpm启动失败的解决(centOS安装PHP后)

在centOS7.0上编译安装php7.2.1后,因为新加了php扩展,所以需要重启php-fpm;

一、首先说一下我的配置,关于配置 php-fpm:

刚开始安装后,这几个文件是没有的,需要逐个cp创建,然后启动即可,如果没有报错,则不用看 “二、php-fpm 启动报错:”

立即学习“PHP免费学习笔记(深入)”;

1、关于配置 php-fpm

cp php.ini-development /usr/local/php7/etc/php.inicp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.confcp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

登录后复制

2、

启动php-fpm:

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

登录后复制

二、php-fpm 启动报错:

原因及解决办法:

1、直接运行,有报错找不到配置文件。

$ php-fpm[11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)[11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'[11-Jan-2014 16:03:03] ERROR: FPM initialization failed

登录后复制

可以在/private/etc/ 目录下生成配置文件,需要root权限(sudo)

或者在普通用户有权限的目录里放置配置文件,通过–fpm-config参数指定配置文件的位置,如下:

# cp /private/etc/php-fpm.conf.default /etc/php-fpm.conf$ php-fpm --fpm-config /etc/php-fpm.conf[11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)[11-Jan-2014 16:10:49] ERROR: failed to post process the configuration[11-Jan-2014 16:10:49] ERROR: FPM initialization failed

登录后复制

错误信息显示:不能正确的打开”日志“文件,原因是默认在/usr/var目录下工作,可以修改配置文件指定正确的日志文件路径

$ vim /usr/local/etc/php-fpm.conf

登录后复制

修改php-fpm.conf文件中的error_log项,默认前缀是/usr/var ,但并没有这个路径

error_log = /usr/local/var/log/php-fpm.logpid = /usr/local/var/run/php-fpm.pid

登录后复制

或者不修改配置文件中配置项的路径,在php-fpm的运行参数中(-p)指定放置运行时文件的相对路径前缀

$ php-fpm --fpm-config /php-fpm.conf  --prefix /usr/local/var

登录后复制

到此,php-fpm守护进程已经基本可以正确的启动了。

报错信息:

[12-Jul-2013 17:18:57] ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY[12-Jul-2013 17:18:57] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf'[12-Jul-2013 17:18:57] ERROR: FPM initialization failed

登录后复制

2、出错的原因主要是/usr/local/php5/sbin/php-fpm配置错误,仔细检查下。我的错误就是group = www这里少了=号。所以出错了

[root@localhost ~]# /usr/local/php5/sbin/php-fpmPHP:  syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211

登录后复制

3、启动php-fpm 报错ERROR: [pool www] cannot get uid for user ‘nginx’

方法一:

当编译好php7之后用以下命令启动

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

登录后复制登录后复制

然后报出这样的错误:

[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user 'nginx'[07-Dec-2018 17:59:31] ERROR: FPM initialization failed

登录后复制

修改php的配置文件位置在www.conf

vi /usr/local/php/etc/php-fpm.d/www.conf

登录后复制

将nginx修改为当前系统的用户名如下:

; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ;       will be used. user = www.emam.cn group = www.emam.cn

登录后复制

方法二:

直接创建nginx用户和用户组

useradd nginxgroupadd nginxusermod -G nginx nginx

登录后复制

三、php-fpm 内容扩展

启动php-fpm:

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

登录后复制登录后复制

php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止

QUIT 平滑终止

USR1 重新打开日志文件

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

一个简单直接的重启方法:

先查看php-fpm的master进程号

# ps aux|grep php-fpmroot     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpmroot     42891  0.0  0.1 182796  1220 ?        Ss   4月18   0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)nobody   42892  0.0  0.6 183000  6516 ?        S    4月18   0:07 php-fpm: pool wwwnobody   42893  0.0  0.6 183000  6508 ?        S    4月18   0:17 php-fpm: pool www

登录后复制

重启php-fpm:

kill -USR2 42891

登录后复制

OK了。

上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf这个配置文件,cat /usr/local/php/etc/php-fpm.conf 发现:

[global]; Pid file; Note: the default prefix is /usr/local/php/var; Default Value: none;pid = run/php-fpm.pid

登录后复制

pid文件路径应该位于/usr/local/php/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

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'

登录后复制

以上就是linux php7-fpm启动失败如何解决的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3165145.html

(0)
上一篇 2025年3月30日 18:15:24
下一篇 2025年3月30日 18:15:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何使用Linux进行文件系统性能调优

    如何使用linux进行文件系统性能调优 引言:文件系统是操作系统中非常关键的一部分,它负责管理和存储文件数据。在Linux系统中,有多种文件系统可供选择,如ext4、XFS、Btrfs等。为了获得更好的性能和效率,对文件系统进行调优是至关重…

    编程技术 2025年4月5日
    300
  • 超实用的 Linux 高级命令,程序员一定要懂!

    前言 在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭。 像一些高级点的命令,比如说 Xargs 命令、管道命令、自动应答命令等,如果当初我要…

    2025年4月5日 编程技术
    500
  • 如何使用Linux进行网络性能调优

    如何使用linux进行网络性能调优 网络性能是计算机网络中一个非常重要的指标,它直接关系到用户的网络体验。在Linux系统中,我们可以通过一些简单的网络性能调优来提升网络的传输速度和稳定性。本文将介绍常见的Linux网络性能调优方法,并提供…

    编程技术 2025年4月5日
    200
  • 4 个 Linux 技巧,你值得拥有

    Linux 已经逐渐成为了最受开发者欢迎的操作系统。本文将介绍四个极为实用的技巧,相信这将能够提高您在 Linux 下的工作效率和流畅性,也让工作变得更为舒适、优雅。 1. 跳转目录优雅顺滑 1.1 bd 命令 快速回到 Bash 中的特定…

    2025年4月5日 编程技术
    200
  • Linux 怎么防止 ssh 被暴力破解

    SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。 具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。尤其…

    2025年4月5日
    200
  • 233乐园怎么直接下载

    直接下载233乐园的方法:获取下载链接:访问233乐园官方网站(https://www.233.com/),点击“下载”按钮并选择您的操作系统。下载安装文件:点击下载链接后,保存安装文件到指定位置。安装应用程序:运行安装文件并按照提示完成安…

    2025年4月5日
    100
  • BitMEX最新版本下载地址

    bitmex 最新版本下载地址:https://www.bitmex.com/register/fhu9lm。只需以下5个步骤:1. 访问 bitmex 官网下载页面;2. 选择操作系统;3. 点击对应下载按钮;4. 按照屏幕提示完成安装;…

    2025年4月5日
    200
  • Ollama 本地部署模型接入 Dify

    dify 支持集成 ollama 部署的大型语言模型 (llm) 推理和嵌入能力。 快速集成指南 下载并运行 Ollama: 请参考 Ollama 官方文档进行本地部署和配置。运行 Ollama 并启动 Llama 模型,例如:ollama…

    2025年4月5日
    200
  • FacePoke— 开源的实时面部编辑工具,拖拽操作面部表情

    facepoke:一款基于ai的开源实时面部编辑工具 FacePoke是一款利用AI技术实现实时面部编辑的开源工具。用户只需简单的鼠标拖拽,即可轻松调整照片中人物的头部姿态(抬头、低头、摇头)和面部表情(眨眼、眼球转动、眉毛、嘴巴等),让静…

    2025年4月5日
    200
  • Ollama 在 LangChain 中的使用 – JavaScript 集成

    简介 本文档介绍了如何在 javascript 环境中使用 ollama 与 langchain 集成,以创建强大的 ai 应用。ollama 是一个开源的大语言模型部署工具,而 langchain 则是一个用于构建基于语言模型的应用的框架…

    2025年4月5日
    100

发表回复

登录后才能评论