尝试加载某些页面时,我收到 Bad Gateway Ngnix 502 错误,但是在页面刷新时它将解决页面加载问题。不确定这是否相关,但是一个页面需要大量的 mssql 查询,页面将加载结果,但不会继续加载与页面关联的 CSS。
master.blade.php 文件包含引导 css 和主题样式,extention.blade.php 将扩展 master(与我项目中的多个其他页面一样)但是它包含一个 DB 查询,当 dd() 但无法加载时成功返回的CSS。其他页面有时会出现此问题,多次刷新将更正页面加载。
希望有人可以帮助我的情况。听起来像配置问题?只是不确定..
更新
所有页面首先体验到 Bad Gateway 502,然后刷新 CSS 丢失(主要是引导程序)。Bad Gateway 将在与 DB 查询无关的静态页面上刷新 2 或 3 次浏览器后出现。
我的设置:
- Mac OS X Sierra 10.12.6
- PHP 7.1
- Nginx 和 Laravel 5.6
www.conf 设置:
- 下午 = 动态
- pm.max_children = 10
- pm.start_servers = 10
- pm.min_spare_servers = 10
- pm.max_spare_servers = 10
~/.valet/Nginx/Sites.dev-env (我的代客停放的项目目录)有以下几行(我自己添加来尝试解决这个问题):
`fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/Users/myusername/.valet/valet.sock;
fastcgi_index
/Users/myusername/.composer/vendor/laravel/valet/server.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
/Users/myusername/.composer/vendor/laravel/valet/server.php;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;`
php-fpm.conf 设置:
- 默认为
include=/usr/local/etc/php/7.1/php-fpm.d/*.conf
Laravel Storage 有一个 777 权限集(只是为了确定它是否是文件权限问题,这将恢复为 755 fyi)
现在解决此问题的关键是提供以下内容的错误日志:
php错误日志:
`[22-Feb-2018 10:29:06 Australia/Sydney] PHP Fatal error: Uncaught
PDOException: SQLSTATE[25000]: [FreeTDS][SQL Server]The ROLLBACK
TRANSACTION request has no corresp$
Stack trace:
0 {main}
thrown in [no active file] on line 0`
但是,我与此相关的唯一 SQL 是选择查询,但我不认为这是 Bad Gateway 的主要原因。
~/.valet/log/nginx-error.log:
`2018/02/22 10:24:23 [error] 62179#0: *9 upstream prematurely closed
connection while reading response header from upstream, client:
127.0.0.1, server: sites.dev-env`
我认为这是主要问题。它发生在 Bad Gateway 错误的每一个点上,我一直在努力弄清楚它到底意味着什么。这个日志文件有很多这些错误,显然我试图弄清楚是什么。正在进行。
我如何临时解决这个问题是通过代客重启。重新启动 nginx 或 php 并不能解决问题,因此,将其隔离为代客。