但是php-fpm下定义的www-error.log的错误日志以及nginx定义的error日志都没有任何显示
可以使用下面这种方式
strace $(pidof 'php-fpm'|sed 's/\([0-9]*\)/-p \1/g') -e write -e read -s 1024
用strace监听fpm进程的read和write函数调用
可以看到这样的错误
部署代码的时候 ,出现了500错误但是php-fpm下定义的www-error.log的错误日志以及nginx定义的error日志都没有任何显示可以使用下面这种方式strace $(pidof 'php-fpm'|sed 's/\([0-9]*\)/-p \1/g') -e write -e read -s 1024用strace监听fpm进程的read和write函数调用可以看到...
我这个博客为了提高运行效率在vps上装了opcache扩展,结果发现有个页面返回502,其他页面正常。
检查了
php
-
fpm
日志
,发现是
php
-
fpm
子进程不知道为什么会崩溃,然后把opcache关了就正常。中间折腾的过程就不提了,总之最后发现应该是和另外一个扩展 zend guard冲突导致的,搞笑的是,只要我把
php
.ini中[zend guard] 配置段放在[zend opcache]后面就正常了。
不想继续深究了,如果你对
php
底层熟悉,可以为我解惑。
您可能感兴趣的文章:
php
加速缓存器opcache,apc,xcache,eAcce
背景和初步排查
订单业务对账时报警了,有笔订单在我们自己的mongo库里
没有
找到
业务接口 /3/xx/vgift/send 调用礼物系统 sendPresent 接口完成送礼, 之后写mongo,但是
php
error log 里却查不到任何mongo异常
日志
写mongo
没有
异常,但是库里却没记录,推断只有2个可能
1是error log 丢
日志
了
2是程序执行过程中操作完sendPresent后down掉了,导致没写入mongo
-第一个情况工作多年的经验来看应该不至于,那就先根据第二种情况继续查吧
那就去看下
php
-
fpm
的
日志
,看对应的时间点有
没有
什么异常
阿尔卑斯
Linux
上的Docker
PHP
-
FPM
7.4和
Nginx
1.18
Docker的示例
PHP
-
FPM
7.4和
Nginx
1.18设置,建立在。 图像只有+/- 35MB大。
仓库: :
建立在轻量级且安全的Alpine
Linux
发行版上
很小的Docker映像大小(+/- 35MB)
使用
PHP
7.4获得更好的性能,更低的CPU使用率和内存占用
针对100个并发用户进行了优化
经过优化,仅在有流量时才使用资源(通过使用
PHP
-
FPM
的按需PM)
服务器
Nginx
,
PHP
-
FPM
和超级用户在非特权用户(没人)下运行,以使其更加安全
所有服务的
日志
都重定向到Dock
每个站点调用Web服务器角色(默认情况下为
nginx
)以创建HTTP conf
php
.ini
在templates /
php
.ini.j2中有一个默认的
php
.ini。
CLI特定的
php
.ini默认情况下使用相同的模板,同样适用于
FPM
特定的
php
.ini(仅Debian)
可以使用
php
_ini_vars dict强制使用
php
.ini vars
角色变量(默认值)
monitoring_from ([127.0.0.1]):允许查询状态URL的主机或网络
fpm
_priority (12):默认处理优先级
fpm
_error_log (syslog):
错误
日志
文件名或“ syslog”
fpm
_log_level (通知):
日志
级别(警报,
错误
,警告,通知,调
事情是这样子的:
前一段时间,网站
php
出错后,具体的
错误
信息,
没有
显示出来,以为是输出到
NGINX
的
错误
日志
里了,但是
NGINX
的
错误
日志
没有
PHP
的
错误
信息,只有一些系统
错误
。
搞了很久,最后是通过改
php
-
fpm
.conf 配置,将
PHP
错误
直接输出在浏览器里。
一开始我是改
php
.ini 里 的:
display_errors=On
但是
没有
效果。后来测试,原来是
php
-
命令:> /usr/local/
php
/etc/
php
-
fpm
.conf
2、重新写入
php
-
fpm
配置
命令:vim /usr/local/
php
/etc/
php
-
fpm
.con
# 全局配置
[global]
# PID、可以不填
pid = /usr/local/
php
/var/run/
php
-
fpm
.pid
#
错误
日志
路径、可以不填
error_log = /usr/local/
php
/var/log/
php
-
fpm
.log
# www虚
记一次莫名其妙的网站失去响应排查。之前网站一直是使用
nginx
做代理后端的apache运行
php
来提供服务。apache经常会不定期不定时间的出现不能服务失去响应,然后
nginx
出现”504 Gateway Time-out”查看
错误
日志
也看不到任何东西,以为是apache的bug(其实不是,下面会说原因)。
也许年龄大了人就不爱折腾,愿意保持原状不动,使用监控工具,每次收到报警后都重新启动apache勉强维持着。终于有一天我烦了,不就是处理
php
吗,我不用apache总行了吧,一怒之下使用源安装
php
-
fpm
转移到
php
-
fpm
来运行
php
。安装
php
并不麻烦,使用源安装还是很顺利的,唯一需
装完了
nginx
和
php
-5.5,配置好了
nginx
调用
php
后,就开始启动
php
-
fpm
。
使用下面的命令 代码如下:/usr/local/
php
/sbin/
php
-
fpm
就可以启动了。
在
nginx
的目录中创建个
php
的检测脚本index.
php
结果在打开http://localhost/index.
php
悲剧的发现居然无法打开 。查看
日志
文件,看了下报错原因 代码如下:2013/07/01 22:34:26 [error] 3214#0: *64 FastCGI sent in stderr: “Primary script unknown” while reading respo
https://www.
php
riji.cn/blog/detail/20181126132625gvxblv.html
Nginx
软件会把自身运行的故障信息及用户访问的
日志
信息记录到指定的
日志
文件里。包括
PHP
的报错信息,方便查错,例如:
2018/11/26 09:59:17 [error] 11641#0: *38857054 FastCGI sent in stder...
今天处理一个
nginx
(版本
nginx
-1.8.0.tar.gz)的
问题
,访问网站的时候
没有
日志
输出,同样部署两台机器,配置一样,一台有
日志
,一台
没有
日志
,很奇怪,分析下配置文件,
nginx
开启了zip压缩,尝试注释下,重启
nginx
,访问
日志
出现了,
# 启用zip压缩
gzip on;
gzip_min_length 5k;
gzip_buffers
Nginx
是一种高性能的 Web 服务器,经常用于反向代理和负载均衡等操作。在使用
Nginx
部署站点时,可能会遇到一些
问题
,比如图片显示出现“500
错误
”。这种
错误
可能是由多种原因引起的。
首先,可能是文件夹权限不正确导致的。在
Nginx
上,每个文件夹和文件都必须拥有正确的权限才能被访问。如果文件夹的权限不正确,例如某些文件夹被限制了写入权限,则在访问图片时可能会出现“500
错误
”。
其次,可能是文件路径不正确。在
Nginx
上,文件路径必须正确才能访问到该文件。如果图片在其他服务器上,而
Nginx
配置的路径不正确,则会显示“500
错误
”。
另外,此
问题
也可能与
Nginx
的配置文件有关。在
Nginx
配置文件中,可能会有一些
错误
或拼写
错误
,导致访问图片时出现
问题
。此时应该检查配置文件以确保其中
没有
任何拼写
错误
或其它语法
错误
。
总之,以上这些原因都可能导致
Nginx
图片显示“500
错误
”,在遇到此
问题
时我们应该逐一排查原因。一般可以先检查文件夹和文件的权限,如果都
没有
问题
再考虑检查文件路径或配置文件。这样就可以缩短排查时间,迅速
解决
问题
。