nginx設定server_names_hash_max_size放在哪裡?
高洛峰
高洛峰 2017-05-16 17:18:01
0
1
1457

作業系統是centos 7.2 ,用

# /usr/sbin/nginx -s reload

重載nginx配置的時候,顯示如下資訊:

[root@i001 ~]# /usr/sbin/nginx -s reload
nginx: [warn] could not build optimal server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64; ignoring server_names_hash_bucket_size

讓新增server_names_hash_max_size: 512,

server_names_hash_bucket_size: 64
忽略
server_names_hash_bucket_size
names_size
##問題是:
1、需要加入在什麼檔案的什麼位置?
2、格式是什麼?有無分號之類的,我弄了一下總是不對。 3、忽略server_names_hash_bucket_size

意思是看到有這項就刪除的意思嗎? ###
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(1)
给我你的怀抱

解決方法

在/usr/local/nginx/conf/nginx.conf中http{}加入這樣一句話

 server_names_hash_max_size 512;

使用 sudo /usr/local/nginx/sbin/nginx -t對nginx設定檔進行檢查,如果也提示

could not build the server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64

則再把 server_names_hash_max_size升值

 server_names_hash_max_size 1024;

錯誤原因

保存伺服器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。參數hash bucket size總是等於hash表的大小,並且是一路處理器快取大小的倍數。在減少了在記憶體中的訪問次數後,使在處理器中加速查找hash表鍵值成為可能。如果 hash bucket size等於一路處理器快取的大小,那麼在查找鍵的時候,最壞的情況下在記憶體中查找的次數為2。第一次是確定儲存單元的位址,第二次是在儲存單元中尋找鍵值。因此,如果Nginx給出需要增大 hash max size 或 hash bucket size的提示,那麼首要的是增大前一個參數的大小.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板