Shared nginx configuration for multiple servers

Michael Shadle mike503 at gmail.com
Wed Apr 6 20:54:01 MSD 2011


include isn't supported inside of "if" either, I believe.

I wanted to do conditional includes before - but ran into a wall.
Someone I believe replied to me off list and said they were trying to
add support for that though.

(I think it might be how the configuration parser works. $hostname is
unknown when the server starts up, and it includes all the includes at
the time of start?) I don't know.


On Wed, Apr 6, 2011 at 9:51 AM, Ondrej Jombik <jombik at platon.org> wrote:
> Yes, I can confirm this, it is not evaluated.
>
> So probably I need to do:
>
>    if ($hostname eq 'servername1') {
>        include /etc/nginx/conf.d/servername1.conf;
>    }
>
> But I read on MANY places that using if() is evil.
>
> Now I do not know what to do.
> Can some expert suggest a prefered way?
>
> Thanks
>
> Ondrej
>
> On Wed, 6 Apr 2011, Antoine Bonavita wrote:
>
>> Hello,
>>
>> I'm no expert but from what I can see in the code (ngx_conf_file.c),
>> the argument to include directive is not "evaluated". So, I would say
>> the behavior you are seeing is "as expected" although probably not the
>> one you would like...
>> May be you can confirm by enabling debug on your install. In the logs
>> you should see a line like "include <filename>".
>>
>> Good luck.
>>
>> Antoine.
>>
>> On Wed, Apr 6, 2011 at 1:00 AM, Ondrej Jombik <jombik at platon.org> wrote:
>>>
>>> We have bunch of servers, where we want to share configuration via SVN
>>> or GIT (or whatever). So on all server there will be the same
>>> configuration files set - this is easy to maintain.
>>>
>>> Although the most of the configuration is the same on all servers, there
>>> is a small set of differences for certain servers.
>>>
>>> I would like to separate this per-server configuration differences into
>>> files called $hostname.conf in the conf.d directory.
>>>
>>> However this is not working for me:
>>>
>>>    include /etc/nginx/conf.d/$hostname.conf;
>>>
>>> Is this supposed to work, or not? If not, what is prefered way to
>>> achieve my goal?
>
> --
> Ondrej JOMBIK
> Platon Technologies Ltd., Hlavna 3, Sala SK-92701
> +421 903 PLATON - info at platon.org - http://platon.org
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>
>



More information about the nginx mailing list