我尝试获取 php-fpm 状态页面。当我在网络浏览器中打开 /status 页面或直接打开 fcgi 时 - 它说找不到文件。
你能帮忙吗 - 如何解决这个问题。
# grep -ER "status|ping" /etc/php5/* | grep -v ":;"
/etc/php5/fpm/pool.d/www.conf:pm.status_path = /status
/etc/php5/fpm/pool.d/www.conf:ping.path = /ping
/etc/php5/fpm/pool.d/www.conf:ping.response = pong
# SCRIPT_NAME=/status SCRIPT_FILENAME=/status QUERY_STRING= REQUEST_METHOD=GET cgi-fcgi -bind -connect /var/run/php-fpm-www.sock
Primary script unknown
Status: 404 Not Found
Content-type: text/html
File not found.
# SCRIPT_NAME=/ping SCRIPT_FILENAME=/ping REQUEST_METHOD=GET cgi-fcgi -bind -connect /var/run/php-fpm-www.sock
Primary script unknown
Status: 404 Not Found
Content-type: text/html
File not found.
Run Code Online (Sandbox Code Playgroud)
Biz*_*ate 15
我刚刚遇到了同样的问题,我将描述我需要什么才能使它工作。您还没有分享有关 php-fpm 配置或 nginx 的许多详细信息(如果这是您用作 Web 服务器的内容)。请注意,您可能需要在命令前使用 sudo/as root 运行以下说明,以获得修改文件或重新启动服务的权限。
在 php-fpm 配置中
vi /etc/php-fpm.d/www.conf
Run Code Online (Sandbox Code Playgroud)
搜索状态路径指令并启用它
pm.status_path = /status
Run Code Online (Sandbox Code Playgroud)
然后确保nginx可以调用这个位置。在你的 nginx 站点配置中
vi /etc/nginx/conf.d/mysite.conf
Run Code Online (Sandbox Code Playgroud)
添加
location ~ ^/(status|ping)$ {
access_log off;
#allow 127.0.0.1;
#allow 1.2.3.4#your-ip;
#deny all;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
Run Code Online (Sandbox Code Playgroud)
注意上面我已经注释掉了允许和拒绝从任何 IP 启用状态页面的指令。确保在生产中未启用此功能。现在重启 nginx 和 php-fpm
sudo service nginx restart
sudo service php-fpm restart
Run Code Online (Sandbox Code Playgroud)
从浏览器调用状态页面现在应该可以工作了
对于 php7.0,使用这些代码来启用状态。
在 /etc/nginx/sites-available/ 中的默认文件中
location /status {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
log_not_found off;
}
Run Code Online (Sandbox Code Playgroud)
在 /etc/php/7.0/fpm/pool.d(位置)的 www.conf(文件)中取消注释以下行
pm.status_path = /status
Run Code Online (Sandbox Code Playgroud)
重启nginx/php7.0
sudo systemctl restart nginx
sudo systemctl restart php7.0-fpm
Run Code Online (Sandbox Code Playgroud)
现在在 Web 浏览器中,键入此地址以获取当前活动的 Web 服务器中当前运行的 php 脚本的完整详细报告,其中 php7.0 配置为可以工作。
http://yoursite.net/status?html&full
Run Code Online (Sandbox Code Playgroud)
此外,请确保对其进行密码保护以保护其免受入侵者的侵害,如此处所述
归档时间: |
|
查看次数: |
29627 次 |
最近记录: |