Nginx does not run
nlacasse opened this issue · 4 comments
Depending on the configuration, you may see nginx
fail with the error:
ioctl(FIOASYNC) failed while spawning "worker process" (25: Inappropriate ioctl for device)
Support for FIOASYNC
is in progress, but it’s not available yet. For now, add
the line below to /etc/nginx/nginx.conf
:
master_process off;
Am I correct in assuming that this will potentially make nginx behave in unexpected ways and thus it is not something one should attempt for any somewhat serious use of nginx + gvisor?
To quote the nginx docs at http://nginx.org/en/docs/ngx_core_module.html#master_process:
Syntax: | master_process on \| off;
-- | --
master_process on;
main
Determines whether worker processes are started. This directive is intended for nginx developers.
I'm not totally sure what the "master_process" directive does, but the docs do state that it should not be used in production.
http://nginx.org/en/docs/faq/daemon_master_process_off.html
We are still working on the FIOASYNC
support, at which point this workaround will not be necessary.
Is there an example to repro this behaviour? I am not having an issue with nginx:latest.
gVisor now supports FIOASYNC ioctl. I just verified that nginx runs without the "master_process: off" directive.