nginx守护进程开启/关闭选项有什么区别?

问题描述:

这是我的第一个Web服务器管理经验,我想构建使用nginx作为Web服务器的docker容器。在全部码头教程daemon off;选项被放入主文件.conf文件但是关于它的说明被省略。nginx守护进程开启/关闭选项有什么区别?

我在网上搜索了一下,我不明白daemon on;daemon off;选项之间有什么区别。有人提到daemon off;是为了生产,为什么?

你能解释一下,这两个选项有什么区别,为什么我在生产中应该使用daemon off;

正如在this SO thread中提到的那样,看起来“该初始化过程立即产生了一个主nginx进程和一些工作者,然后退出,因为Docker只看到原始命令的PID,那么容器就会停止。

关于daemon off directive,它看起来最初是为nginx代码开发而设计的,但对于生产后版本1.0.9,根据FAQ是安全的。

对于正常生产(在服务器上),请使用默认的daemon on;指令,以便Nginx服务器将在后台启动。通过这种方式,Nginx和其他服务正在运行并相互交流。一台服务器运行许多服务。

对于码头集装箱(或调试),daemon off;指令告诉Nginx留在前台。对于容器,这是有用的,因为最佳做法是对于一个容器=一个过程。一台服务器(容器)只有一项服务。

如果有第三方工具如Supervisor控制您的服务,则设置daemon off;也很有用。 Supervisor可让您一次停止/启动/获取一批服务的状态。

我使用daemon off;来调整我的Nginx配置,然后干净地终止服务并重启它。这使我可以快速测试配置。完成后,我使用默认的daemon on;