如何修复Nginx 502 Bad Gateway的错误

最近申请了阿里云免费的SSL证书,让网站实现https://的方式访问,按照阿里云的教程设置后,网站出现了502 Bad Gateway nginx/1.8.1,导致网站无法访问。

环境:

[wm_red]云服务器镜像 Linux CentOS 7.6

已经安装并成功配置 SSL 的 nginx 1.8.1

遇到的问题: 在服务器没有报错的情况下, 向服务器发送 HTTPS 请求时出现 502 Bad Gateway[/wm_red]

经过Google搜索后,我通过增加http块内的缓冲区和超时,在Nginx配置文件/etc/nginx/nginx.conf中添加几行代码解决了该问题。

下面了解一下如何修复Nginx 502 Bad Gateway 的错误。

很多时候,我们可以浏览网络,并在Nginx上发现502 bad gateway错误。您会在网络服务器日志中找到此消息的原因有多种,这里将教您如何修复它。

不同的网站可能会有不同的502 bad gateway错误消息。以下是最常见的502错误消息:

什么时候会发生502 Bad Gateway错误

Nginx作为Apache Web服务器的代理运行。
Nginx与PHP-FPM守护程序一起运行。
Nginx与其他服务一起运行作为网关。
缓冲/超时配置错误。

在深入研究所有这些选项之前,您必须了解502 Bad Gateway错误消息的含义。因此,该错误是HTTP状态代码错误,它发生在网关上。到底是什么网关?简而言之,网关就像一个访问点,是一个服务与另一个服务进行通信的桥梁,在这种情况下,网关可以是正在工作并从Nginx Web服务器接收请求的服务/应用程序。

现在,让我们探究每种原因,以了解502 Bad Gateway错误消息

Nginx作为Apache的代理:在这种情况下,网关是Apache。当您使用Nginx作为Apache的代理时,如果apache死了或配置不正确,则可能导致此502 Bad Gateway错误。如何解决?在大多数情况下,重新启动apache Web服务器将消除这种情况,但是您必须检查日志文件以了解到底是什么原因造成的。
带有PHP-FPM的Nginx:与Apache示例相同,假设您的php守护程序停止工作,或者由于请求而过载,它将无法正常工作,并且无法满足nginx的所有php请求,因此,出现502 Bad Gateway错误会出现。如何解决?重新启动php-fpm守护程序并检查日志。
Nginx与其他服务/应用程序:尝试重新启动nginx背后的其他服务,并浏览日志以查找发生该事件的原因。

502 Bad Gateway错误的其他快速解决方案:

1)增加http块内的缓冲区和超时:

2)确保您的php-fpm服务正在根据您在nginx中配置的内容进行监听,这可以是以下两个选项之一:

编辑www.conf文件(在CentOS中,它位于/etc/php-fpm.d/www.conf并尝试使用以下两个选项之一:

要么

之后,只需重新启动php-fpm服务即可。

3)如果使用Apc Cache,则禁用它,而改用Xcache,在特定环境下apc会引起此类问题,从而导致分段错误。

1. 本站资源均来源于用户上传和网络整理,如有侵权,请邮件联系站长删除!

2. 分享目的仅供大家学习和交流,请不要用于商业用途!否则,后果请用户自负。

3. 本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。

4. 如果您喜欢本站发布的资源,请支持正版,购买正版可以得到更好的正版服务。如有侵权,请邮件与我们联系处理。

5. 如遇到加密压缩包,默认解压密码为lingshan.info,如遇到无法解压的请联系管理员!


凌山博客 » 如何修复Nginx 502 Bad Gateway的错误