码迷,mamicode.com
首页 > 其他好文 > 详细

优化服务器域名的散列表大小

时间:2017-05-31 14:27:03      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:names   timeout   stream   local   not   localhost   end   root   failed   

如下,如果在 server_name 中配置了一个很长的域名,那么重载 Nginx 时会报错,因此需要使用 server_names_hash_max_size 来解决域名过长的问题,该参数的作用是设置存放域名的最大散列表的存储桶的大小,根据 CPU 的一级缓存大小来设置。

server {
        listen       80;
        server_name  www.abcdefghijklmnopqrst.com;        # 配置一个很长的域名
        location / {
            root   html/www;
            index  index.html index.htm;
        }
    }
[root@localhost conf]# /usr/local/nginx/sbin/nginx -t     # 如果配置的域名很长会出现如下错误
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 64
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
[root@localhost ~]# cat /usr/local/nginx/conf/nginx.conf
...... http { include mime.types; server_names_hash_bucket_size 512; # 配置在 http 区块,默认是 512kb ,一般设置为 cpu 一级缓存的 4-5 倍,一级缓存大小可以用 lscpu 命令查看 default_type application/octet-stream; sendfile on; keepalive_timeout 65; server_tokens off; include vhosts/*.conf; }

 

 

 

 

    

 

优化服务器域名的散列表大小

标签:names   timeout   stream   local   not   localhost   end   root   failed   

原文地址:http://www.cnblogs.com/pzk7788/p/6923533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!