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