Hi,
On Tue, Nov 27, 2012 at 10:07 PM, philipp <nginx-forum@nginx.us> wrote:
> Hello,
>
> we have a bunch of servers which are configured 100% equal expect of host
> specific settings like ip address in the listener using chef/puppet. Nginx
> seems to read include / config files not in the same order on each server.
>
> For example we haven't defined a default vhost on each server... so nginx
> uses the first loaded file which is exampleA.com on server 1 and
> exampleB.com on server 2.
>
> Furhtermore we use the upstream check status module, the status page is
> randomly ordered at each server...
>
> Is it possible to configure nginx to read config in the alphabeticial
> order?
>
> For example
>
> vhosts/exampleA.com (1.)
> vhosts/exampleB.com (2.)
>
This is a known issue. It has been fixed in our own
Tenginehttp://tengine.taobao.org
distribution:
https://github.com/taobao/tengine/blob/master/src/os/unix/ngx_files.c#L362
If you want to use official nginx only, you can apply the patch below:
@Maxim:
Would you please consider to apply this patch to the trunk? Thanks in
advance.
Index: src/os/unix/ngx_files.c
===================================================================
--- src/os/unix/ngx_files.c (revision 4942)
+++ src/os/unix/ngx_files.c (working copy)
@@ -363,7 +363,7 @@
{
int n;
- n = glob((char *) gl->pattern, GLOB_NOSORT, NULL, &gl->pglob);
+ n = glob((char *) gl->pattern, 0, NULL, &gl->pglob);
if (n == 0) {
return NGX_OK;
Regards,
--
Joshua Zhu
Senior Software Engineer
Server Platforms Team at Taobao
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Attachments:
open |
download -
include-sorted.patch
(395 bytes)