LNMP环境时不时报502问题解决记录

来源:互联网 发布:unity3d如何播放视频 编辑:程序博客网 时间:2024/05/23 02:01

公司官网是用WordPress搭的(数据库有35万左右的数据),环境用的是军哥的lnmp一键安装包,访问速度特别慢,下面是整个的解决过程记录

  1. 登上阿里云查看服务器的情况(8核16G)的配置,但是cpu几乎一直是100%,登上服务器top命令查看了一下发现大部分的cpu都被MySQL数据库吃了.首先解决MySQL数据库的问题,执行”SHOW
    PROCESSLIST” 命令,发现一直在执行copying to tmp table
    ,百度了一下这个问题,修改MySQL的配置文件,加大了tmp_table_size,max_heap_table_size
    这两个值,效果不明显
  2. 后来就想开一下慢查询日志,看看比较慢的sql有哪些,结果发现上个程序员一直都没关慢查询,数据量特别大,慢的sql很多,慢查询日志当时得有几个G了,我把慢查询关了,服务器cpu就降到80%左右了,清理了慢查询日志,记录了几条sql,发现自己对WordPress不熟没办法优化sql,后来就想到了上mamcache缓存.
  3. 用WordPress插件给官网上了memcache之后,访问速度明显快了cpu降到了50%左右,过了一段时间发现服务器什么都正常,网站却时不时的报502,Nginx啊….
  4. 本以为报502是因为数据库占用资源太多,导致Nginx无法响应请求,就在准备把服务器搬到阿里的RDS数据库上的时候,看了一下军哥的网站,上面列了可能导致502的原因LNMP一键安装包的Nginx 502 Bad Gateway错误可能原因及解决方法原文链接,按照上面提示的一个一个的排除,把参数能改的都改了改,发现官网的日志文件已经44G了,赶紧用lnmp带的日志切割脚本Nginx日志切割脚本把日志文件切割处理了一下,同时使用 crontab 设置了每天的晚上12点切割日志文件.
  5. lnmp官网上还给出了一个 PHP-FPM 502检查重启工具 check502.sh (一般在lnmp的解压目录下面)该工具一般需要配合crontab进行使用,如没5分钟检测是否报502错误,并自动重启PHP-FPM.
    这是该工具crontab 设置格式 /5 * * * 文件所在全路径/check502.sh,

  6. 通过这些操作先看看官网的运行情况,后续继续更新

原创粉丝点击