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

相關文章
相關標籤/搜索