首页>技术知识>WordPress 阿里云linux服务器的wordpress网站总是出现死机,什么原因?
WordPress教程学习网站
2022-06-21
WordPress教程学习网站丨模板定制、网站使用教程、插件推荐、代码优化、wp建站教程、数据文章采集、系统开发、系统优化,功能开发,仿站教程等各类WordPress技术知识,供网友学习了解。

在前面的文章WordPress网站为什么经常出现死机或数据库连接时出错中,高时银博客曾介绍过遇到过的情况,当时是查看了日志,日志中提示数据库出错,经修复数据库,问题得到短时间的解决。可是,接着很快又出现死机现象,莫非又是wordpress数据库出问题?阿里云linux服务器的wordpress网站为什么总是出现死机?于是再次查看日志,上次出现的问题没有出现,而是出现了wordpress数据库总是重启,日志代码如下:

170518 6:50:14 [Note] Plugin 'FEDERATED' is disabled.
170518 6:50:14 InnoDB: Initializing buffer pool, size = 8.0M
170518 6:50:14 InnoDB: Completed initialization of buffer pool
170518 6:50:14 InnoDB: Fatal error: cannot allocate memory for the buffer pool
170518 6:50:14 [ERROR] Plugin 'InnoDB' init function returned error.
170518 6:50:14 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170518 6:50:14 [ERROR] Unknown/unsupported storage engine: InnoDB
170518 6:50:14 [ERROR] Aborting
170518 6:50:14 [Note] /usr/sbin/mysqld: Shutdown complete

这些代码大概的意思是:InnoDB数据库缓存大小只有8M,数据自动关闭等信息。没遇到过这种情况,所以百度了一下,找到了解决方法,所以记录下来,以备后用。


第一步:修改缓存大小。

在 /etc/mysql/my.cnf 的 mysqld 下增加下面一句:

innodb_buffer_pool_size = 64M

64是我给我网站的配置,大家可以根据自己网站的情况来配置,如果服务器内存比较大的可以给wordpress数据库多配置点,服务器内存比较小的可以少配置一点。


第二步:给linux服务器添加swap交换区。

除了上面的数据库缓存外,我们还要设置一下swap分区。想看自己的linux服务器有没有缓存区,可以通过free命令查看一下:

image.png

上面这个图是我本地电脑上的。如果标红的区域的swap后的数据都为0,说明没有设置swap区。

因为我的linux服务器是没有swap分区的,需要手动添加一下。

添加swap分区的步骤:

dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile

使用dd命令创建一个swap分区,大小是1024M,分区目录名swapfile
格式化新建的分区
把新建的分区变成swap分区

再添加下面这行 到 /etc/fstab,自动挂载swap分区:

/swapfile swap swap defaults 0 0

这样就设置了swap分区,然后重启mysql或重户linux。


通过上面的2部,wordpress网站的频繁死机问题得到解决。为了证实问题得到终极解决,我特意对网站进行了几天的观察:网站是否重复死机,日志中是否会再有mysql数据库的重启提示。经观察,没有再出现这种频繁死机的问题,至少这几天没有出现过。嗯,是否终极解决,还有待我继续观察一段时间。就写到这,如果你也碰到linux服务上的wordpress网页总死机的情况,可以参照一下本章的方法来解决。

显示全部内容...