Welcome! Log In Create A New Profile

Advanced

Re: About the order of execution of the modules.

Francis Daly
March 14, 2021 04:06PM
On Sun, Mar 14, 2021 at 05:43:19PM +0000, SP ADD wrote:

Hi there,

What follows is based on my reading of the docs; I may have missed
something, and I am happy to be corrected by someone who knows what
really happens.

> In my module, ngx_module_type is set to HTTP, so ngx_module_order doesn't apply.

It is not clear to me that that "so" statement is true.

Have you documentation to show that it is? What happened when you
tried it?

> I'm sorry, I'm not sure what "stock module" means, I guess it means a built-in module, i.e. a module that can be enabled or disabled just by the parameters of the "configure" script, without having to download the source code of the module, e.g. ngx_http_flv_module and ngx_http_rewrite_module.
>

You are correct. Perhaps "standard" modules would have been a better
term for me to use.

> If I am correct, I will list below the questions I would like to ask and hopefully the questions below are clear and unambiguous.

What control do you want, specifically?

My reading suggests that the "static" module order is "from the
../configure line, --add-module order", and the "dynamic" module order is
"from the nginx.conf file, load_module order", where the dynamic modules
have the option to list which named modules they should run before.

(And: order is only relevant within the same phase; you did mention
that already.)

If you want more control than that, you may want to ship an nginx binary
configured the way you want it, without load_module support.

(And you probably don't want to do that.)

> * How to control the order of execution between the dynamic stock module and my dynamic module.

As the developer, I think that you do not know which stock modules are
dynamic. But you do know the names of the (current) stock modules.

If you want to be "after" a stock module, "load_module" after it in
nginx.conf.

If you want to be "before" a stock module, set your ngx_module_order to
your name then the stock module name.

> * How to control the order of execution between the dynamic stock module and my static module.

You don't.

You will be "before" (absent circumstances you can't control).

> * How to control the order of execution between my dynamic non-stock modules and my dynamic modules.

(Corrected to remove the first "my".)

load_module order, unless you-or-they know each other's names and set
ngx_module_order; in that case, whichever was last in load_module gets
to be before whichever names they nominate.

> * How to control the order of execution between dynamic non-stock modules and my static modules.

Same as dynamic stock module, except you probably do not know their
names in advance.

> * How to control the order of execution between static stock modules and my dynamic modules.

You will be "after", unless you set your ngx_module_order.

> * How to control the order of execution between static stock modules and my static modules.

../configure order.

> Regarding the last question, have I looked at https://forum.nginx.org/read.php?2,246978,246999#msg-246999 and can the answers there be used to control the order between the static stock modules and my static modules?
>

I suspect that what is there is still fundamentally correct, yes.

Cheers,

f
--
Francis Daly francis@daoine.org
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

About the order of execution of the modules.

ADD SP March 14, 2021 04:56AM

Re: About the order of execution of the modules.

Francis Daly March 14, 2021 11:20AM

Re: About the order of execution of the modules.

SP ADD March 14, 2021 01:44PM

Re: About the order of execution of the modules.

Francis Daly March 14, 2021 04:06PM

Re: About the order of execution of the modules.

ADD SP March 15, 2021 02:50AM

Re: About the order of execution of the modules.

Francis Daly March 15, 2021 01:28PM

Re: About the order of execution of the modules.

ADD SP March 16, 2021 02:52AM

Re: About the order of execution of the modules.

SP ADD March 14, 2021 01:58PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 233
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