当前位置:首页 > CN2资讯 > 正文内容

分析Centos系统下LNMP频繁502 Bad Gateway问题Error 502 Bad gateway

4天前CN2资讯

最近VPS总是出现 Nginx 502 Bad Gateway 错误,导致网页无法正常访问,但FTP和SSH正常连接,很是伤脑筋!这次好好整治一下!

根据问题,应该是 php-fpm 出了问题,先查看日志文件 /usr/local/php/logs/php-fpm.log

日志内容大致如下(借用了一下28、29两天的记录):

Jan 28 22:50:00.309235 [NOTICE] fpm_unix_init_main(), line 284: getrlimit(nofile): max:1024, cur:1024 Jan 28 22:50:00.309552 [NOTICE] fpm_event_init_main(), line 88: libevent: using epoll Jan 28 22:50:00.309617 [NOTICE] fpm_init(), line 52: fpm is running, pid 7967 Jan 28 22:50:00.310444 [NOTICE] fpm_children_make(), line 352: child 7968 (pool default) started Jan 28 22:50:00.311328 [NOTICE] fpm_children_make(), line 352: child 7969 (pool default) started Jan 28 22:50:00.312208 [NOTICE] fpm_children_make(), line 352: child 7970 (pool default) started Jan 28 22:50:00.313161 [NOTICE] fpm_children_make(), line 352: child 7971 (pool default) started Jan 28 22:50:00.314210 [NOTICE] fpm_children_make(), line 352: child 7972 (pool default) started Jan 28 22:50:00.314242 [NOTICE] fpm_event_loop(), line 107: libevent: entering main loop Jan 29 16:58:30.845059 [NOTICE] fpm_got_signal(), line 70: received SIGUSR2 Jan 29 16:58:30.856418 [NOTICE] fpm_pctl(), line 256: switching to 'reloading' state Jan 29 16:58:30.856449 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 3 SIGQUIT to child 7972 (pool default) Jan 29 16:58:30.856463 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 3 SIGQUIT to child 7971 (pool default) Jan 29 16:58:30.856475 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 3 SIGQUIT to child 7970 (pool default) Jan 29 16:58:30.856487 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 3 SIGQUIT to child 7969 (pool default) Jan 29 16:58:30.856537 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 3 SIGQUIT to child 7968 (pool default) Jan 29 16:58:30.856546 [NOTICE] fpm_pctl_kill_all(), line 181: 5 children are still alive Jan 29 16:58:35.845629 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 7972 (pool default) Jan 29 16:58:35.845662 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 7971 (pool default) Jan 29 16:58:35.845671 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 7970 (pool default) Jan 29 16:58:35.845678 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 7969 (pool default) Jan 29 16:58:35.845686 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 7968 (pool default) Jan 29 16:58:35.845691 [NOTICE] fpm_pctl_kill_all(), line 181: 5 children are still alive Jan 29 16:58:36.450929 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD Jan 29 16:58:36.451016 [WARNING] fpm_children_bury(), line 215: child 7968 (pool default) exited on signal 15 SIGTERM after 65319.297391 seconds from start Jan 29 16:58:36.451062 [WARNING] fpm_children_bury(), line 215: child 7971 (pool default) exited on signal 15 SIGTERM after 65319.294705 seconds from start Jan 29 16:58:36.451088 [WARNING] fpm_children_bury(), line 215: child 7972 (pool default) exited on signal 15 SIGTERM after 65319.293684 seconds from start Jan 29 16:58:36.451103 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD Jan 29 16:58:36.451834 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD Jan 29 16:58:36.451868 [WARNING] fpm_children_bury(), line 215: child 7969 (pool default) exited on signal 15 SIGTERM after 65319.297343 seconds from start Jan 29 16:58:36.451891 [WARNING] fpm_children_bury(), line 215: child 7970 (pool default) exited on signal 15 SIGTERM after 65319.296487 seconds from start Jan 29 16:58:36.451903 [NOTICE] fpm_pctl_exec(), line 95: reloading: execvp("/usr/local/php/bin/php-cgi", {"/usr/local/php/bin/php-cgi", "--fpm", "--fpm-config", "/usr/local/php/etc/php-fpm.conf"})

满眼的NOTICE错误,据观察至后几天,错误日志都是如此!据网络资料分析说,这类错误大都是由于php线程打开文件句柄受限导致的错误,这里综合各位童鞋的分析,整理记录如下,希望能解决此类 502 问题!

首先检查一下ulimit -n的值,SSH输入命令:

# ulimit -n 返回:65535

1、提升服务器的文件句柄打开

SSH命令:# vi /etc/security/limits.conf,在结尾处添加以下内容:

* soft nofile 65535 * hard nofile 65535

2、提升nginx的进程文件打开数

# vi /usr/local/nginx/conf/nginx.conf 查看 worker_rlimit_nofile 51200;

3、修改 php-fpm.conf 配置文件

前面确认了 ulimit -n 值为 65535,/usr/local/php/etc/php-fpm.conf 中的选项 rlimit_files 确保和此数值一致。

<value name="rlimit_files">65535</value> <value name="max_requests">10240</value>

4、修改 sysctl.conf

# vi /etc/sysctl.conf

底部添加

fs.file-max=65535

至此,重启 /root/lnmp restart 生效,看看还有没有类似错误信息出现!

ps.为减小php-fpm.log文件大小,可将 /usr/local/php/etc/php-fpm.conf 中的 Log level 由 notice 修改为 ERROR,这样能降低日志的生成速度!

Log level     <value name="log_level">Error</value>


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/19436.html

    分享给朋友:

    “分析Centos系统下LNMP频繁502 Bad Gateway问题Error 502 Bad gateway” 的相关文章

    日本节点的重要性与旅行体验优化指南

    日本节点的定义与重要性 在数字化飞速发展的今天,网络成为了沟通和信息流通的主要渠道。这里提到的“节点”,其实是指网络中数据传输的关键环节,可以理解为互联网的一个重要接点。每一个节点都承担着流量的传输与分发,确保数据能够迅速而高效地在全球范围内流动。想象一下,网络就像一张巨大的蜘蛛网,各个节点犹如网中...

    中转机:提升航班灵活性与旅行体验的最佳选择

    中转机的基本定义 中转机,是在航空运输中大量使用的一种方式。简单来说,就是乘客在一段航程中需要在特定的中转站停留,然后再继续前往他们的最终目的地。这个过程中,乘客的航空器可能会更换,或者在中转站转机的时间不同。中转机的作用主要体现在提高航班的灵活性与覆盖范围上。 我想起了自己那次在国外旅行时的经历。...

    白丝云:轻盈时尚的服装搭配指南与实用技巧

    白丝云的概念与作用 白丝云,这种看似简单却极具魅力的元素,常常被我们在服装中忽略。它的定义有些抽象,但其实可以说是那些轻盈、透明的织物,像云朵一样飘逸。通常,它由柔软的材质制成,给人一种轻柔、梦幻的感觉。你可以在它的细腻质感中,感受到一种自然的优雅。 我们常常在时尚秀场上看到白丝云,不论是作外搭还是...

    哪个模拟器可以在VPS上运行?探索最佳选择与配置指南

    当我们提到VPS(虚拟专用服务器)时,很多人可能并不熟悉这个术语。简单来说,VPS旨在为用户提供一台虚拟的独立服务器,让他们能够在其中运行各种应用程序和服务。通过这种方式,你可以远程使用服务器的资源,而无需为实体硬件的维护和管理而烦恼。VPS的灵活性和成本效益使其成为在线业务和开发环境的热门选择。...

    Sharknode: 开启去中心化区块链的新篇章

    Sharknode生态系统是一个新兴的区块链平台,它为开发者和用户提供了一个强大的环境,以实现去中心化应用与服务。作为一个集成度极高的系统,Sharknode不仅支持了智能合约的创建与执行,还提供了高速、安全的交易体验。这个生态系统旨在突破传统区块链的局限,向用户开放更多可能性,为不同行业带来变革。...

    购买服务器指南:选择适合您的服务器类型与预算

    在决定购买服务器之前,理解服务器的定义和作用至关重要。简单来说,服务器是一种强大的计算机,专门用来提供资源、数据和服务给其他计算机。这些服务可能包括网站托管、数据库管理以及应用程序支持。因此,服务器不仅是企业运作的重要基础,同时也是开发和提供在线服务的核心。 购买服务器的必要性往往被低估。许多企业在...