![白屏,无错误](https://linux22.com/image/497130/%E7%99%BD%E5%B1%8F%EF%BC%8C%E6%97%A0%E9%94%99%E8%AF%AF.png)
所以...对于你们来说这是一个有趣的问题,因为我完全不知道该做什么,或者下一步该怎么做。
服务器和应用程序环境。
CentOS 版本 5.3(最终版)
Apache 2.2.3-22
EnableSendfile off
EnableMMAP off
ErrorLog logs/error_log
LogLevel debug
PHP-5.2.6-2
error_reporting = E_ALL
display_errors = on
log_errors = on
max_execution_time=300
max_input_time=60
memory_limit=512mb
Kohana 2.3 PHP 环境。
HAProxy 1.3.15.6-2
MemCacheD 1.2.6-1
我们的应用程序分布在 3 个 Web 服务器之间,安装了一个 NFS 存储服务器,并在 3 个 Web 服务器之间进行负载平衡。应用程序似乎运行良好,但有时,应用程序不加载,而是显示纯白色页面。不是 404 错误或 500 服务器错误,而是纯白色页面。它会立即返回,因此这不是执行时错误。
错误日志或服务器错误日志中没有任何内容,代理日志显示标准代理连接,访问日志中仅显示标准 200 状态,传输了 256 个字节。
对我来说,这说明应用程序本身有问题。这是一个罕见、无法解释、看似随机的问题,导致我们现在称之为“死机白屏”的情况。
我们的开发人员都说,既然没有任何内容进入我们的错误日志,那么一定是服务器问题。但我也说了同样的话,没有任何内容进入我们的任何日志(无论如何与此相关),而且据我所知,我们的 httpd 子进程没有崩溃。
有什么想法可以增加我的日志,或者以某种方式证明它不是 PHP、Apache、CentOS 等中的错误?或者如果它是错误,如何识别它?
答案1
Telnet 到服务器查看发生了什么
telnet 服务器.无论 80
获取/HTTP/1.0
答案2
我会尝试在网络数据路径的所有点(或至少在客户端和服务器之间)设置数据包嗅探器。然后,您可以在发生错误时检查数据包,并至少将问题隔离到链中的一台机器。至少这样您就可以更清楚地了解应该将调查重点放在哪里。
答案3
事实证明(仅供参考)我们在 Kohana 2.3 的文件缓存系统中发现了一个错误(我不知道具体细节,我不是开发人员)。通过升级到 2.3.4,并使用 memcached 专门进行缓存,问题就消失了。