set variables within config

Jon Garvin jgarvin.lists at gmail.com
Fri May 15 00:16:16 MSD 2009


Maxim Dounin wrote:
> On Thu, May 14, 2009 at 10:59:26AM -0600, Jon Garvin wrote:
>   
>> 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
>>     
>
> As of now nginx has no variables expanded during config loading - 
> everything expaneded during request processing.  So using 
> variables just to save some config lines is somewhat stupid as it 
> means wasting lots of CPU time for every request.
>
> If you really need to simplify configs - it's easy to generate 
> them using make and sed.
>
> Maxim Dounin
>   
Well, then that sounds like a great candidate for an Nginx enhancement
at some point in the future.


-- 

http://www.5valleys.com/

http://www.workingwithrails.com/person/8078

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20090514/7219fb2a/attachment.html>


More information about the nginx mailing list