Welcome! Log In Create A New Profile

Advanced

Re: using variables in nginx.conf with 'set'

Maxim Dounin
October 22, 2010 11:44AM
Hello!

On Fri, Oct 22, 2010 at 08:27:52AM -0400, Arthur Blake wrote:

> It seems like the set command was designed for use in a narrow set of
> circumstances. But I think it would be a lot more useful if the variables
> it defines could be used globally with any directive.
>
> I am trying to use the 'set' command in order to define my own variables
> that define things that may vary by server in a main nginx.conf file so that
> a generic reusable include file can later use those variables. It seems
> that the variables only work in certain places with certain directives.

In nginx, variables are not something which "may vary by server", it's
something which is request-specific and evaluated at runtime.

Something which vary on per-server basis (usually referred as
"configuration macros" here) isn't present in nginx at all.
Consider using your favorite template engine (e.g. make + sed) or
try server-specific includes.

> Is there a reason I can't use variables set this way more widely? I would
> like to be able to use variables like this anywhere in the config files.
>
> In the example below, I define two variables with the 'set' command,
> $rootfolder and $backend.
>
> The $rootfolder variable doesn't work with the include directive and the

Include directives are evaluated during configuration parsing on
server startup. There is no request being processed, and no
variables.

> $backend doesn't work with the proxy_pass directive.

Actually it does (since 0.6.18). Though this requires resolver to
be defined and implies address parsing and resolving if backend
address given as domain name. Additionally, it has another
semantics than normal proxy_pass - with variables you have to
specify full url of the resource to request (or only server,
0.8.25+), semantics of "proxy_pass with URI" doesn't apply.

Maxim Dounin

p.s. Just to summarise the above: you don't need variables, you
need configuration macros. These aren't implemented, but you are
free to use your favorite template engine.

_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx
Subject Author Posted

using variables in nginx.conf with 'set'

Arthur Blake October 22, 2010 08:32AM

Re: using variables in nginx.conf with 'set'

Adrian Janeczek October 22, 2010 09:58AM

Re: using variables in nginx.conf with 'set'

Maxim Dounin October 22, 2010 11:44AM

Re: using variables in nginx.conf with 'set'

Arthur Blake October 22, 2010 03:20PM

Re: using variables in nginx.conf with 'set'

jazzhuang November 03, 2014 02:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 135
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready