| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

不通过 web server 获取 php-fpm 运行状态

php-fpm 可以配置一个 pm.status_path ,如 `/status`,然后通过 web server 访问这个地址来获取运行状态。但这样会侵入 web server 的配置,在一个 web server 后端有多个 php-fpm 的适合也不方便分别监控每一个后端的状态,为了安全,还要配置访问控制。

好在有个现成的工具 cgi-fcgi,可以把 fcgi 请求包装成 cgi 方式,这样就可以直接在命令行中调用 fastcgi。

cgi-fcgi 在 redhat/centos 中可以用 `yum install fcgi` 安装,在 ubuntu 中可以用 `apt-get install libfcgi-dev` 安装。

用以下方式就能获取 php-fpm 的状态了。

path=/status    export REQUEST_METHOD=GET  export SCRIPT_NAME="$path"  export SCRIPT_FILENAME="$path"  export QUERY_STRING=''  # export QUERY_STRING='full'  # export QUERY_STRING='json'  # export QUERY_STRING='full&xml'    addr=/var/run/php-fpm.socket  # addr=127.0.0.1:9000    cgi-fcgi -bind -connect "$addr"

QUERY_STRING 设置为 full 会显示每一个 worker 进程的状态。添加 json、xml、html 可以以不同格式显示结果。

来自: http://xiezhenye.com/2016/01/不通过-web-server-获取-php-fpm-运行状态.html

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1452845456198.html
Web服务器 PHP-FPM PHP开发