inode耗尽致使的nginx没法访问问题

公司有一台测试服务器,部署了很是多的测试服务。某天同事发现部署的测试站点拒绝访问。经过多伦排查,最终确认是因为inode致使nginx没法正常提供服务,而且没法从新启动。html

排查过程

  1. 确认问题。部署的站点拒绝访问,curl localhost也拒绝访问,应该不是安全策略问题。
  2. 检查nginx。 ps -ef|grep nginx发现nginx进程,由于是测试服务器,因此直接重启。service nginx restart重启失败,提示

Job for nginx.service failed because a configured resource limit was exceedednode

  1. 是否日志文件等临时文件致使硬盘用尽。df -h,还有68%的硬盘空间可用,排除。
  2. df -i,发现inode耗尽。
  3. for i in ./*; do echo $i; find $i | wc -l; done从根目录开始逐级统计子目录中的文件总数,定位到/var/spool/postfix/maildrop。

解决问题

  1. 确承认以删除这个目录的文件,先删除这个目录下的全部文件,重启服务。
  2. 这个目录文件数膨胀的缘由,网上搜索了一下,基本确认是因为cron服务配置文件中mailto=root致使,可按照文章中的方法解决。

掘金地址nginx

相关文章
相关标签/搜索