ngx_module_order directive

Carey Gister careygister at
Tue Jun 11 17:56:11 UTC 2019

Hi Maxim,

Thanks for your reply.

I tried with and without quotes. The same result. My module is inserted in front of the copy filter module. I am writing a drop in replacement for the slice module. I want my module to be in front of the stream module.
I build without specifying --with-http_slice_module.

Here is my config file:


ngx_module_order="$ngx_module_name ngx_stream_module"

. auto/module


I've tried both HTTP_AUX_FILTER and HTTP_FILTER as ngx_module_type.


Carey Gister

From: nginx-devel <nginx-devel-bounces at> on behalf of Maxim Dounin <mdounin at>
Sent: Monday, June 10, 2019 05:55
To: nginx-devel at
Subject: Re: ngx_module_order directive


On Sat, Jun 08, 2019 at 12:44:29AM +0000, Carey Gister wrote:

> I'm writing a new module and I want to place in a specific order in the module list as defined in ngx_modules.c.
> If my module name is x_module and I want it to run after ngx_http_slice_filter_module I tried:
> ngx_module_order=x_module ngx_http_slice_filter_module
> and I am informed during configuration that 'ngx_http_slice_filter_module does not exist.
> What is the correct syntax for this directive?

The config file is a shell script, and expected to follow POSIX
shell syntax.  That is, to define a variable with a space in it
you have to use double quotes:

ngx_module_order="x_module ngx_http_slice_filter_module"

Note well that it is generally a bad idea to explicitly define
module order unless you know what are you doing and why.

Maxim Dounin
nginx-devel mailing list
nginx-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx-devel mailing list