这是我的nginx.conf:
user www-data;
worker_processes 1;
worker_rlimit_nofile 8192;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
# debug_connection 192.168.1.1;
# multi_accept on;
}
http {
server_tokens off;
include mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
tcp_nodelay on;
gzip on;
# http://wiki.nginx.org/HttpGzipModule#gzip_disable
gzip_disable "msie6";
gzip_types text/javascript text/css text/plain text/xml application/xml application/xml+rss application/x-javascript;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*.ngx;
#tcp_nopush on;
#keepalive_timeout 0;
}
当我尝试启动nginx时,这就是我所看到的:
nginx: [warn] duplicate MIME type "text/javascript" in /etc/nginx/nginx.conf:27
nginx: [emerg] could not build the test_types_hash, you should increase either test_types_hash_max_size: 2048 or test_types_hash_bucket_size: 64
这种相同的配置以前没有问题。我错过了什么?
答案 0 :(得分:10)
将我的头撞在墙上几分钟后,我才决定“哎呀,我会解决第一个错误并看看会发生什么。”瞧,在gzip_types声明中删除无关的text / javascript MIME类型修复了问题。
希望这有用!
答案 1 :(得分:1)
为了使任何晚到这里但未体验到第一个消息的人受益:
您对第一个错误的解决具有缩短导致第二条消息的行的副作用。
在我自己的情况下,一个愚蠢的错误是将MIME类型的列表放在引号中。不用引用。
由于没有指令(参考https://trac.nginx.org/nginx/ticket/203),因此您无法增加'test_types_hash'的存储桶大小,因此减少MIME类型列表是唯一的选择。
参考http://nginx.org/en/docs/http/ngx_http_core_module.html#types_hash_bucket_size