set variables within config

Jon Garvin jgarvin.lists at
Thu May 14 20:59:26 MSD 2009

I haven't seen any way to do this in the docs, so this might be more of
a feature request, but if someone knows of a way to accomplish this that
I missed, let me know.

I'd really like to be able to set a variable in the config and then use
it to set other settings, with the ultimate goal of DRYing up the config
file.  For instance, right now I've got many different 'server' blocks,
each with a few lines that look like...

root /var/www/domain1/current/public;
access_log  /var/www/domain1/shared/log/nginx.access.log;
error_log  /var/www/domain1/shared/log/nginx.error.log;

Lots of repetition there.  Would be great if instead I could say...

$basepath = /var/www/domain1
root $basepath/current/public;
access_log  $basepath/shared/log/nginx.access.log;
error_log  $basepath/shared/log/nginx.error.log;

And then even better to be able th extract out those last three lines
into a paths.conf file (or something), so that each server block could
just say...

$basepath = /var/www/domain#
include paths.conf


More information about the nginx mailing list