What is the difference between nginx daemon on/off option?

For normal production (on a server), use the default daemon on; directive so the Nginx server will start in the background. In this way Nginx and other services are running and talking to each other. One server runs many services.

For Docker containers (or for debugging), the daemon off; directive tells Nginx to stay in the foreground. For containers this is useful as best practice is for one container = one process. One server (container) has only one service.

Setting daemon off; is also useful if there’s a 3rd party tool like Supervisor controlling your services. Supervisor lets you stop/start/get status for bunches of services at once.

I use daemon off; for tweaking my Nginx config, then cleanly killing the service and restarting it. This lets me test configurations rapidly. When done I use the default daemon on;.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)