【问题标题】:What is the difference between nginx daemon on/off option?nginx 守护进程开/关选项有什么区别?
【发布时间】:2014-11-16 05:17:14
【问题描述】:

这是我的第一次网络服务器管理经验,我想构建使用 nginx 作为网络服务器的 docker 容器。在所有 docker 教程中,daemon off; 选项被放入主 .conf 文件中,但省略了有关它的解释。

我在互联网上搜索它,但我不明白daemon on;daemon off; 选项之间有什么区别。有人提到daemon off;是用于生产的,为什么?

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

【问题讨论】:

    标签: nginx webserver daemon docker


    【解决方案1】:

    正如this SO thread 中提到的,似乎“该初始进程立即产生了一个主 nginx 进程和一些工作人员,然后退出。由于 Docker 只监视原始命令的 PID,因此容器随后停止。”

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

    【讨论】:

      【解决方案2】:

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

      对于 Docker 容器(或调试),daemon off; 指令告诉 Nginx 留在前台。对于容器,这很有用,因为最佳实践是一个容器 = 一个进程。一台服务器(容器)只有一项服务。

      如果有像Supervisor 这样的第三方工具控制您的服务,设置daemon off; 也很有用。 Supervisor 允许您一次停止/启动/获取一组服务的状态。

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

      【讨论】:

      • 如何在 docker 上动态重新加载配置为“daemon off”的 nginx?
      • 这似乎是正确的答案,应该打勾。
      猜你喜欢
      • 2010-10-31
      • 1970-01-01
      • 2019-04-15
      • 2012-08-07
      • 2012-09-01
      • 2015-03-24
      • 2023-01-02
      • 2019-12-24
      • 2019-06-05
      相关资源
      最近更新 更多