故障:在Tengine版Nginx中新加了配置,reload之後發現配置沒有生效,reload時也沒有錯誤提示,百思不得其解
查看Nginx worker process的啓動時間,發現時間並沒有更新,也就是reload並沒有起作用!嘗試重啓Nginx,終於報錯了:
2018/08/17 13:47:32 [crit] 32468#0: ngx_slab_alloc() failed: no memory
2018/08/17 13:47:32 [emerg] 32468#0: http upstream check_shm_size is too small, you should specify a larger size.
解決辦法:在nginx.conf的http塊中增加一條配置:
check_shm_size 40m;
故障原因未知,該參數設置的緩存大小,用於存儲所有的後端服務器健康檢查狀態,Nginx默認是1m
網上有人說如果有1千臺以上的服務器並在配置的時候出現了錯誤,才需要擴大該內存的大小,我後端服務器沒超過20臺...