网站报错504怎么办?

做网站的同学经常会发现一些nginx服务器访问时候提示504 Gateway Time-out错误,而出现这种错误有两种情况,第一种可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out。而第二种就有可能是PHP环境的配置问题,有些网站一直是使用nginx做代理后端的apache运行php来提供服务。apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现”504 Gateway Time-out”。

那么遇到这些情况应该怎样处理呢?下面是关于nginx服务器出现504 Gateway Time-out的解决方法。原因一:由于nginx默认的fastcgi进程响应的缓冲区太小造成的错误解决方式:一般默认的fastcgi进程响应的缓冲区是8K,这时可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k这表示设置fastcgi缓冲区为8块128k大小的空间。当然如果在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:send_timeout 60;经过这两个参数的调整,一般不会再提示“504 Gateway Time-out”错误,问题基本解决。情况二:PHP环境的配置问题有时候网站需要对php-fpm和nginx进行配置修改。因为这种情况下,也会出现“504 Gateway Time-out”错误提示。而这时候Nginx 504 Gateway Time-out的含义就是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。解决方式更改php-fpm的几处配置:把max_children由之前的10改为现在的30,这样就可以保证有充足的php-cgi进程可以被使用;把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。接着再更改nginx的几个配置项,减少FastCGI的请求次数,尽量维持buffers不变:fastcgi_buffers由 4 64k 改为 2 256k;fastcgi_buffer_size 由 64k 改为 128K;fastcgi_busy_buffers_size 由 128K 改为 256K;fastcgi_temp_file_write_size 由 128K 改为 256K。重新加载php-fpm和nginx的配置,再次测试,如果没有出现“504 Gateway Time-out”错误,问题解决。情况三另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。SSL证书是HTTP明文协议升级HTTPS加密协议的重要渠道,是网络安全传输的加密到通道。关于更多SSL证书的资讯,请关注GDCA(数安时代)。GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。php5.6出现:HTTP 错误 500.0 – FastCGI 进程意外退出
网站管理员在Windows Server系统中安装IIS并配置PHP搭建成功Web服务器运行环境的时候。IIS7.0显示正常,但是实际浏览 .php 类型的文档(如:info.php)或安装PHP源码程序会遇到一些PHP系统报错的问题,今天给大家分享一个关于 iis7+php5.6 环境出现:“HTTP 错误 500.0 - Internal Server Error,D:\\Program Files\\php\\php-cgi.exe - FastCGI 进程意外退出”的问题解决步骤。

测试PHP环境配置
引起这个问题的首要原因就是 php 的配置问题,所以要解决这个问题就要从测试 php 环境配置开始。
运行 cmd 打开命令提示符——》进入 php 的目录 cd D:\\Program Files\\php\\——》输入 php -v 命令来检测php的配置问题。(也可以直接双击 PHP 目录下的文件 php.exe )
如果提示 php.exe 系统错误,“无法启动此程序,因为计算机中丢失MSVCP110.dll。尝试重新安装该程序以解决此问题。”遇到这个情况是因为 php 执行程序是基于 VC++ 11 运行库开发运行的,而你的电脑上没有安装 VC++ 11。所以需要下载并安装 VC++ 11版本。
PS:VC++ 11版本就是 Microsoft Visual C++ Redistributable 2012或2013 运行库

HTTP 错误 500.0 php-cgi.exe - FastCGI 进程意外退出的解决步骤
1、到 Microsoft 官网下载 VC11版本 “Microsoft Visual C++ 2012 Redistributable”软件包并安装,注意选择与系统对应的位数(x86或 x64)。
