小编才买不久的腾讯轻量云服务器上部署的lnmp+discuz! x3.5,最近经常性隔几天就宕服务,出现网站访问不了,ssh也访问不了。只有去腾讯云控制台重启服务器才行。最开始没仔细排查,就看了下/var/log/secure日志,发现巨量的ssh Failed password访问记录。然后看discuz!关联的邮箱,发现巨量的注册机注册邮件记录。以为是这些引起的,就把discuz! x3.5注册邮箱后缀白名单限定到有限的几个。因为也不用经常ssh服务器,就在腾讯云控制台的防火墙禁掉了ssh端口。从那开始正常了半个多月,今天网站突然又访问不了啦,腾讯云控制台防火墙开放ssh端口,用xshell访问,也访问不了。没办法,只能重启服务器。等服务器正常启动后,ssh登录上去。执行journalctl -rp 3查看系统错误日志,发现一堆“dnf makecache”错误,感觉奇怪这特么不是更新源的元数据缓存的吗。然后又排查less /var/log/messages日志,发现dnf-makecache.timer这个鬼,执行就占用741M多的内存,导致爆内存了触发oom机制。查询了下dnf-makecache.timer,发现这就是个定时dnf缓存任务,感觉完全没必要。1、关闭定时dnf makecache任务
#查看定时任务systemctl list-timers dnf-makecache.timer#停止并禁用自动更新缓存定时器systemctl stop dnf-makecache.timersystemctl disable dnf-makecache.timer
2、添加2G Swap分区
因为云服务器没有swap分区,小内存云服务器没有兜底的。
#增加交换分区文件及大小dd if=/dev/zero of=/home/swapfile bs=1M count=2048#设置交换文件mkswap /home/swapfile#立即启用交换分区文件swapon /home/swapfile#赋予权限chmod -R 0600 /home/swapfile#添加开机引导自动启用echo '/home/swapfile swap swap defaults 0 0' >> /etc/fstab# 调整swap策略,优先回收缓存,不频繁换出业务进程echo vm.swappiness=10 >> /etc/sysctl.confsysctl -p