关于页面502的一次排查,页面502排查
一、场景: 系统 Deepin 15;php 5.5.33;nginx 1.9.9
二、状况: 简单的页面输出正常(比如 phpinfo();),跑公司的任何一个项目,均502
三、排查
1、查询各种日志,包括 nginx.error.log、php_error.log、php-fpm.error.log,找到php-fpm报错如下
[22-Mar-2016 11:06:32] WARNING: [pool www] child 3665 exited with code 127 after 24.657496<span> seconds from start [22-Mar-2016 11:06:32] NOTICE: [pool www] child 3676 started</span>
2、最开始以为是由php-fpm进程数不足引起,便对php-fpm.ini做出如下修改
(这一步和网上很多的解决方案相同,但是没有效果)
pm.max_children = 20<span> pm.start_servers = 10<span> pm.min_spare_servers = 10<span> pm.max_spare_servers = 20<span> pm.process_idle_timeout =<span> 10s pm.max_requests = 500</span></span></span></span></span>
3、经过大量查询,有说是Linux文件句柄数不足
(忘记保留url和改动的地方,经过一番折腾也没有效果)
4、回归 php-fpm.error.log,通过 exited with code 127 查到
(http://www.faqs.org/docs/abs/HTML/exitcodes.html)
5、基于上一步才想起用 strace 来跟踪 php-fpm进程,方法分两种
(其实这一步早该尝试,Rango http://rango.swoole.com/archives/340)
5.1、把php-fpm的进程数限制设置为1,然后直接 strace -p 123456 进行跟踪单个进程
5.2、直接使用下面的命令批量跟踪进程
ps -ef | grep fpm | awk '{print "-p " $2}' | xargs strace
由于出问题的是自己的机子,没有其他人访问,所以使用第二个方法进行跟踪,部分结果如下
[pid 6744] fstat(5, {st_mode=S_IFREG|0644, st_size=5016, ...}) = 0<span> [pid 6744] mmap(NULL, 5016, PROT_READ, MAP_SHARED, 5, 0) = 0x7f132588f000<span> [pid 6744] munmap(0x7f132588f000, 5016) = 0<span> [pid 6744] close(5) = 0<span> [pid 6744] writev(2, [{"php-fpm: pool www", 17}, {": ", 2}, {"symbol lookup error", 19}, {": ", 2}, {"/usr/local/php/lib/php/extension"..., 71}, {": ", 2}, {"undefined symbol: mmc_queue_pop", 31}, {"", 0}, {"", 0}, {"\n", 1}], 10) = 145<span> [pid 6744] exit_group(127) = ?</span></span></span></span></span>
定为到报错信息 undefined symbol: mmc_queue_pop
6、既然是 memcache 扩展报错,便开始折腾,从基本编译命令开始
cd /data/memcache-3.0.8/<br />/usr/local/php/bin/<span>phpize ./configure --with-php-config=/usr/local/php/bin/php-<span>config<br />#sudo make clean #但存在多次编译安装时,最好都进行清除 sudo make sudo make install</span></span>
仔细查找,发现 ./configure 报了个 WARNING
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
于是开始补齐 re2c,并重新编译 memcache,重启 php-fpm,然而依旧报错
7、最后找到一篇文章,提及“我的memcache原来是从官网下的beta版,重新下载一个stable版本编译安装一下问题就OK了”
而我用的正是beta版的 memcache-3.0.8,于是马上下载stable版的 memcache-2.2.7 重新编译,问题成功解决。
(http://www.phpjiayuan.com/77/433.html)
四、特别申明:此文章所提及的东西,部分来自某开发群的大神们,在此鸣谢!
五、后记:此问题是不是只存在于 php 5.5.33 + memcache-3.0.8(beta),有待后续跟进

是否要复制MicrosoftWord中的页面,并保持格式不变?这是一个聪明的想法,因为当您想要创建特定文档布局或格式的多个副本时,在Word中复制页面可能是一种有用的节省时间的技术。本指南将逐步引导您在Word中复制页面的过程,无论是创建模板还是复制文档中的特定页面。这些简单的说明旨在帮助您轻松地重新制作页面,省去从头开始的麻烦。为什么要在MicrosoftWord中复制页面?在Word中复制页面非常有益的原因有以下几点:当您有一个具有特定布局或格式的文档要复制时。与从头开始重新创建整个页面不同

技嘉的主板怎么设置键盘开机首先,要支持键盘开机,一定是PS2键盘!!设置步骤如下:第一步:开机按Del或者F2进入bios,到bios的Advanced(高级)模式普通主板默认进入主板的EZ(简易)模式,需要按F7切换到高级模式,ROG系列主板默认进入bios的高级模式(我们用简体中文来示范)第二步:选择到——【高级】——【高级电源管理(APM)】第三步:找到选项【由PS2键盘唤醒】第四步:这个选项默认是Disabled(关闭)的,下拉之后可以看到三种不同的设置选择,分别是按【空格键】开机、按组

1.处理器在选择电脑配置时,处理器是至关重要的组件之一。对于玩CS这样的游戏来说,处理器的性能直接影响游戏的流畅度和反应速度。推荐选择IntelCorei5或i7系列的处理器,因为它们具有强大的多核处理能力和高频率,可以轻松应对CS的高要求。2.显卡显卡是游戏性能的重要因素之一。对于射击游戏如CS而言,显卡的性能直接影响游戏画面的清晰度和流畅度。建议选择NVIDIAGeForceGTX系列或AMDRadeonRX系列的显卡,它们具备出色的图形处理能力和高帧率输出,能够提供更好的游戏体验3.内存电

广联达软件是一家专注于建筑信息化领域的软件公司,其产品被广泛应用于建筑设计、施工、运营等各个环节。由于广联达软件功能复杂、数据量大,对电脑的配置要求较高。本文将从多个方面详细阐述广联达软件的电脑配置推荐,以帮助读者选择适合的电脑配置处理器广联达软件在进行建筑设计、模拟等操作时,需要进行大量的数据计算和处理,因此对处理器的要求较高。推荐选择多核心、高主频的处理器,如英特尔i7系列或AMDRyzen系列。这些处理器具有较强的计算能力和多线程处理能力,能够更好地满足广联达软件的需求。内存内存是影响计算

《处理Laravel页面无法正确显示CSS的方法,需要具体代码示例》在使用Laravel框架开发Web应用时,有时候会遇到页面无法正确显示CSS样式的问题,这可能会导致页面呈现不正常的样式,影响用户体验。本文将介绍一些处理Laravel页面无法正确显示CSS的方法,并提供具体的代码示例,帮助开发者解决这一常见问题。一、检查文件路径首先要检查CSS文件的路径是

待机是iOS17更新中的一项新功能,它提供了一种新的增强方式,可以在手机快速闲置时访问信息。通过StandBy,您可以方便地查看时间、查看即将发生的事件、浏览日历、获取您所在位置的天气更新等等。激活后,iPhone在充电时设置为横向时会直观地进入待机模式。此功能非常适合床头柜等无线充电点,或者在日常任务中离开iPhone充电时。它允许您轻扫待机中显示的各种小部件,以访问来自各种应用程序的不同信息集。但是,您可能希望根据您的偏好和您经常需要的信息修改这些小部件,甚至删除一些小部件。因此,让我们深入

标题:3秒跳转页面实现方法:PHP编程指南在网页开发中,页面跳转是常见的操作,一般情况下我们使用HTML中的meta标签或者JavaScript的方法进行页面跳转。不过,在某些特定的情况下,我们需要在服务器端进行页面跳转。本文将介绍如何使用PHP编程实现一个在3秒内自动跳转到指定页面的功能,同时会给出具体的代码示例。PHP实现页面跳转的基本原理PHP是一种在

页面刷新在我们日常的网络使用中非常常见,当我们访问一个网页后,有时候会遇到一些问题,比如网页加载不出来或者显示不正常等。这时候我们通常会选择刷新页面来解决问题,那么如何快速地刷新页面呢?下面我们就来探讨一下页面刷新的快捷键。页面刷新快捷键是一种通过键盘操作来快速刷新当前网页的方法。在不同的操作系统和浏览器中,页面刷新的快捷键可能有所不同。下面我们以常见的W


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
