How to control the order of execution modules in nginx
Maxim Dounin
mdounin at mdounin.ru
Thu Jan 30 12:08:39 UTC 2014
Hello!
On Thu, Jan 30, 2014 at 01:05:34PM +0800, Rv Rv wrote:
> From http://www.evanmiller.org/nginx-modules-guide.html, "The
> order of their execution is determined at compile-time". Is
> there a way to control this. ngx_modules.c has the list and
> order of execution. How do I change the order of execution of
> modules within a particular phase e.g. if I have three modules
> within the access phase, is there a way to control the order of
> execution with the access phase.
Order of execution of modules in a particular phase is set during
a configure, modules which are last in HTTP_MODULES are executed
first.
That is, if you want to add "module1", "module2", and "module3",
all of them use the access phase, and each of them does something
like
HTTP_MODULES="$HTTP_MODULES moduleN"
in it's "config" file, you should do something like
./configure --add-module=module3 \
--add-module=module2 \
--add-module=module1
to get the "module1 -> module2 -> module3" order.
Note that it may non-trivial to, e.g., make sure your module is
called after standard modules in the access phase.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list