bind() in configuration test is too cautious
|Reported by:||Owned by:|
|uname -a:||Linux hostname 4.4.0-109-generic #132~14.04.1-Ubuntu SMP Tue Jan 9 21:46:42 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux|
|nginx -V:||nginx version: nginx/1.12.2|
Currently, nginx does too much when testing configuration (
nginx -t). While in some cases it's good idea to test everything that's possible to test, there are a lot of use cases where it's not:
- I want to test configuration file syntax on different machine
- I want to run
nginx -tas a non-root user
- I don't want nginx -t to clobber socket when it may run simultaneously with starting nginx daemon by other subsystem (chance is quite low, still not sure why it's needed)
So it would be nice if there was a flag that does configuration file syntax check but doesn't rely on running in the same system: don't bind sockets, don't try to open logs and pid files, and maybe other things that I don't know yet.
(tested on 1.12.2, sorry if it's fixed in master)
What do you think?