今天上班遇到一个非常奇怪的事情,公司监控服务器之前都是在正常运行,使用nginx+php-fpm,并且监控服务器上部署这其他部门在使用的几个站点,从早上上班开始发现监控显示页面打不开,各种查找原因,最后发现只有在重启php-fpm后,监控页面才能正常访问,访问正常后,由于最近事情比较多,所以没太多关注。下午的时候我又打开看了下,发现又和上午一样,浏览器报504错误,并且重启php-fpm之后又能正常访问了;发现这个问题有点过分了,我想肯定起来不久又会重新报504错误的;过了两分钟,果然,继续访问不了,504错误。这次重新登上服务器,查看了下php-fpm的error日志:

按照它给的建议,找php-fpm配置文件。修改了

pm.max_children = 50

pm.start_servers = 15

pm.min_spare_servers = 10

pm.max_spare_servers = 30

的值,这个值是修改之前的,修改之后分别为:

pm.max_children = 100

pm.start_servers = 60

pm.min_spare_servers = 50

pm.max_spare_servers = 75

这个值的跨度还是比较大的,这是在我几次尝试之后不报错的情况下修改的;但是修改完之后,监控页面时可以访问了,出现的问题却让我们很郁闷,数据库的所有监控全部报警,后来赶紧查看了下访问日志,发现来自全国各地的公网IP在不停的访问,这个问题让我第一印象就是被攻击了,立马查看了下系统的访问日志,发现的确有很多的访问进来,但是作为一台独立的线上服务器,即使有不断的访问进来也不至于导致所有的数据库连接报警的,尝试着减少访问,看看能不能消除数据库报警,但是加了各种措施之后,数据库报警依然存在,我又将php-fpm的配置参数还原,尝试着重启登入数据库,但是发现登入数据库时提示缺少sock文件,登不进去;找到配置文件,按照配置文件中的sock路径看了下,是没有这个sock文件;到网上搜了许多,并没有好的解决方法,便向MySQL的相关QQ群里面询问,后来,有人说重启之后会自动生成sock文件,我便试着重启了下,结果又发现了问题:

这个问题我就郁闷了,根本停不掉啊;最后各种方法之后,决定kill掉。但是,问题又来了,kill关闭之后,呵呵。。。起不来,报

 Starting MySQL... ERROR! The server quit without updating PID file (/home/data/mysqldata/localhost.localdomain.pid).
这个错误,看了下这个目录下的pid文件,不存在。。进入/home/data/mysqldata目录,查看了后200行的localhost.localdomain.err文件

最后的原因我想大家谁也想不到,群里的人告诉我Errcode 28一般都是磁盘空间不够导致,我赶紧看了下,使用率百分之百,顿时,心中。。。。。清理完备份文件,过几分钟,数据库可以正常启用,监控也正常了。

这个问题真的不算是什么问题,可是正因为运维人员的疏忽,导致这种事情发生,还好服务器暂时没有接入用户,要不然问题可就大了,做了定期备份,竟然没做定期清理,这种错误真的不应该犯,当然,我也进行检讨,查了所有的问题,就是没有查看磁盘空间,导致走了那么大的弯路,希望各位运维人员也能以此为戒!!

关于php-fpm子进程达到上限并且浏览器访问显示504错误的更多相关文章

  1. nginx和fpm的进程数配置和502,504错误

    502 和 php-fpm.conf 1.php-cgi进程数不够用.php执行时间长,导致没有空闲进程处理新请求. 2.php-cgi进程死掉.php-fpm超时时间短,当前进程执行超时关闭连接. ...

  2. Selenium 3 + BrowserMobProxy 2.1.4 模拟浏览器访问 (含趟坑)

    背景 Selenium 是一个Web自动化测试的组件,可基于WebDriver去控制弹出浏览器去做一系列Web点击或行为测试(当然也可以去做一些邪恶的事..),减少重复人工网页测试的开销.Browse ...

  3. python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?

    python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...

  4. 浏览器访问Servlet

    浏览器访问Servlet1.指定一个Servlet路径(                     在web.xml :              <servlet>             ...

  5. sublime text3 前端编译神器,浏览器实时显示

    前端编译器有很多,Dreamweaver,sublime text ,webstorm,但在使用之后感觉sublime text3就是前端的编译神器 首先sublime text3最好使用英文原版,虽 ...

  6. 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面

    现在很流行微信网页小游戏,用html5制作的小游戏移过来,可以放到微信浏览器中打开,关键是可以做成微信分享朋友圈的形式,大大提高游戏的传播,增强好友的游戏互动. 微信浏览器中打开网页游戏效果还不错,对 ...

  7. 解决使用IIS5.0配置的FTP服务器,客户端浏览器访问时无法获取目录列表的问题。

    我在windows xp sp3下利用iis构架了FTP服务器,允许且只允许匿名用户登陆.但刚开始配置好后,不管是使用命令行模式还是使用浏览器都发现无法访问. 于是怀疑防火墙屏蔽端口所致,果不其然,在 ...

  8. Windows Server 2003服务器.net4.0+IIS6.0的服务器,IE11浏览器访问的不兼容性

    工作中发生了一件诡异的事情: 程序在Win7+.NET4.0+IIS7.5的服务器部署,IE8和IE11请求时,响应的样式都正常. 但是在美的同事反映说,Windows Server 2003服务器. ...

  9. 解决Ext.form.DateField在浏览器中显示可能有问题

    解决Ext.form.DateField在浏览器中显示可能有问题,界面将会拉的很长很长.如下图:  办法: 1:设置css的长度 .x-date-menu { padding-top:2px;padd ...

随机推荐

  1. Android压缩图片到100K以下并保持不失真的高效方法

    前言:目前一般手机的相机都能达到800万像素,像我的Galaxy Nexus才500万像素,拍摄的照片也有1.5M左右.这么大的照片上传到服务器,不仅浪费流量,同时还浪费时间. 在开发Android企 ...

  2. 移动端浏览器body的overflow:hidden并没有什么作用

    今天突然遇到一个问题,使用li模拟select,但是碰到一个很尴尬的问题,给body加了overflow:hidden,但是body并没有禁止滚动条,滚动条依旧顺滑. <!DOCTYPE htm ...

  3. 阿里云部署nodejs服务器(windows)

    花了大半个月做的网站终于要上线了,周围的同学们很多都在使用阿里云的服务器,我也入手了一台.考虑到自己不是很适应ubuntu的命令行界面,于是买了个windows的,上网搜了一下,似乎都是用linux来 ...

  4. 《jQuery知识点总结》(二)

    dom css 操作html(n)                n为空则取值相当于JS的innerHTML填写n为赋值val(n)                n为空则取值相当于JS的value填 ...

  5. spark 快速入门 java API

    Spark的核心就是RDD,对SPARK的使用入门也就是对RDD的使用,包括action和transformation 对于Java的开发者,单单看文档根本是没有办法理解每个API的作用的,所以每个S ...

  6. html5 canvas 实现倒计时 功能

    function showTime(a) { var b = { id: "showtime", //canvasid x: 60, //中心点坐标 X轴; y: 60, //中心 ...

  7. 不常用的SQL语句记录

    只知道字段名,查询哪些表有该字段:假如字段名为Index select sysobjects.name as tablename,syscolumns.name as columnname from  ...

  8. MongoDB学习笔记

    MongoDB的学习目标(v.3.4.0) 1.MongoDB的概念,非关系型数据库NOSQL 2.学会MongoDB的搭建 3.熟悉MongoDB使用 最基本的文档的读写更新删除 各种不同类型的索引 ...

  9. 如何正确的做WEB端的压力测试

    1.对要测试的系统进行分析,明确需要对哪一块做压力测试.比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大 再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大 那 ...

  10. Android Studio导入项目问题小结

    1. import project 之后一直停留在 building 界面 解决方案: 1.随便找一个你能运行的as项目 2.打开gradle-wrapper.properties,文件目录:项目/g ...