這是我的第一個Web服務器管理經驗,我想構建使用nginx作爲Web服務器的docker容器。在全部碼頭教程daemon off;
選項被放入主文件.conf
文件但是關於它的說明被省略。nginx守護進程開啓/關閉選項有什麼區別?
我在網上搜索了一下,我不明白daemon on;
和daemon off;
選項之間有什麼區別。有人提到daemon off;
是爲了生產,爲什麼?
你能解釋一下,這兩個選項有什麼區別,爲什麼我在生產中應該使用daemon off;
?
這是我的第一個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;
。