阿里云 WordPress “建立数据库连接时出错” 的解决方法

用阿里云后就安装 WordPress 了,但一直有一个问题挺烦人的,就是隔几天打开网站就会出现“建立数据库连接时出错”(这是 WordPress 的错误提示),首先可以确定不是 wordpress 配置文件中的数据库和密码错误。刚开始不太想处理这问题,重启服务器,网站可以正常打开,但最近显示 “建立数据库连接时出错” 的情况越来越多,不得不着手看有没有解决办法。

在查看系统日志(/var/log/messages)与php日志(/var/log/php-fpm/error.log)后发现有:

Out of memory: Kill process 1094 (php-fpm)
[pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)

看来是 php-fpm 耗尽了内存,没办法,当初只是为了建个小站,内存只是选择了 512M。

Google一番,发现可以限制 php-fpm 进程的内存占用率。

php-fpm 的进程跟如下几个参数有关:(在/etc/php-fpm.d/www.conf文件中)

pm.max_children = 50      // 该选项设置可以同时提供服务的请求数限制
pm.start_servers = 5      // 设置启动时创建的子进程数目
pm.min_spare_servers = 5  // 设置空闲服务进程的最低数目
pm.max_spare_servers = 35 // 设置空闲服务进程的最大数目

上面的是我系统的默认配置(Centos),可以看出,允许的最大 php-fpm 进程数是 50 个,Wordpress 占内存不是什么新鲜事了,现在暂时改动一下,看能不能缓解这问题的出现。在这里先作个记录,配置改成如下:

pm.max_children = 8
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5

正常运行一周多了!

———————-

正常运行一个月了(2016-11-29)

———————-

按此方法修改后没有再出现此问题了!

发表评论

电子邮件地址不会被公开。 必填项已用*标注