我正在运行 nginx 和 php-fpm 的设置。我发现,当 php-fpm 不可用时,nginx 会响应 404 错误。
我认为这不是正确的答案,我预计在 php-fpm 不可用的情况下我的 Web 服务器将响应 5xx 错误。
我的配置现在运行良好,但我希望在 php-fpm 崩溃的情况下,我的服务器响应错误代码 5xx(即 500 或 503)。
有没有什么办法可以配置这个?
这是我的实际配置:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.piwik.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache piwik;
fastcgi_cache_valid 60m;
fastcgi_param GEOIP_REGION $geoip_region;
fastcgi_param GEOIP_REGION_NAME $geoip_region_name;
fastcgi_param GEOIP_CITY $geoip_city;
fastcgi_param GEOIP_AREA_CODE $geoip_area_code;
fastcgi_param GEOIP_LATITUDE $geoip_latitude;
fastcgi_param GEOIP_LONGITUDE $geoip_longitude;
fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
fastcgi_param GEOIP_ORGANIZATION $geoip_org;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_intercept_errors on;
}
在此先感谢您的帮助
法比奥
答案1
尝试检查标题。
Nginx 必然会产生 502 错误。
在此配置上: https://stackoverflow.com/questions/36035266/fastcgi-sent-in-stderr-primary-script-unknown-while-reading-response-header-from 一切按预期进行
Nginx 1.8.1
PHP 7.0.6-dev
附言
检查文件fastcgi_params
并且不重复fastcgi_param
指令location