出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误。
2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream
查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。
网上查找了一下解决方法,在国外网站看到了一个增加缓冲区的方法,彻底解决了Nginx 502 Bad Gateway的问题。方法如下:
将nginx的error log打开,发现“pstream sent too big header while reading response header from upstream”这样的错误提示。查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。参考老外写的修改办法增加了缓冲区容量大小设置,502问题彻底解决。后来系统管理员又对参数做了调整只保留了2个设置参数:client head buffer,fastcgi buffer size。
三、request_terminate_timeout
20240313:突然发现一个网站打开后报502:
1、报无法找到一个类对应的方法:以前运行好好的,为啥突然挂了呢?php进程挂了?没有。被攻击?也不是。于是将程序拉到本地,结果运行正常。
管它三七二十一,先修复。
2、刷新页面:Cannot run code from this file in conjunction with non encoded files。网上一查:原来是eaccelerator和opcache冲突了,
https://forum.matomo.org/t/cannot-run-code-from-this-file-in-conjunction-with-non-encoded-files/3841
https://www.drupal.org/forum/support/post-installation/2009-02-23/fatal-error-cannot-run-code-from-this-file-in-conjunction
赶紧打开本地的php.ini看看,呵,根本没有任何优化。
看了看线上:opcache已经安装且打开,eaccelerator也安装且打开。全部注释掉,网站运行正常,然后打开opcache也正常运行。汗,真是手贱,运行的好好的,吃饱了撑着安装eaccelerator干啥。