Bug in the nginx-0.7.xx include .../conf.d/*.conf process ?
Mark Alan
varia at e-healthexpert.org
Sun Mar 22 15:07:42 MSK 2009
In Debian/Ubuntu systems (also in .rpm based systems?) /conf.d/*.conf
files are used to (automatically) supersede any configuration originally
put in the main .conf file (nginx.conf) by the program
developers/maintainers.
In the file /etc/nginx/nginx.conf (or
/usr/local/nginx/conf/nginx.conf, if installed from source) there is
supposed to that, loading alternative config files: include
/etc/nginx/conf.d/*.conf;
In nginx-0.7.43 creating a file at .../conf.d/my_own.conf with the
contents:
keepalive_timeout 10 10;
gzip on;
gzip_types text/plain text/css application/x-javascript text/xml
application/xml application/xml+rss text/javascript;
gzip_min_length 640;
Will lead, when trying to restart nginx, to a nginx halt with an
error message like:
" [emerg] 9242#0: "keepalive_timeout" directive is duplicate in
/etc/nginx/conf.d/server_specific_parameters.conf:1
"
In the absence of a better opinion, it seems that it would make more
sense if, instead, the new values superseed any already existant
parameters in nginx.conf and nginx give the user a warning message
listing the parameters being superseeded.
Ideally any 20-my_own.conf file would be read after and superseed any
values in a 10-my_own.conf file, wich in turn would be read after and
superseed any values in nginx.conf
Regarding any new parameters not present in any previous *.conf,
nginx would simply read and add them without any further warning.
M.
More information about the nginx
mailing list