Linux

Nginx 和自動更新

  • November 5, 2012

我在 Ubuntu 12.04.1 上unattended-upgrades配置了自動安全更新,我首先安裝了 Nginx

deb http://nginx.org/packages/ubuntu/ lucid nginx
deb-src http://nginx.org/packages/ubuntu/ lucid nginx

歸檔,/etc/apt/sources.list正如官方 wiki所建議的那樣,然後通過

sudo apt-get update
sudo apt-get install nginx

它安裝了 Nginx 和所有標準模組。但現在我認為我可以充分利用 Nginx 的一兩個可選模組,比如 gzip 預壓縮模組或一些與安全相關的模組。到目前為止,我看到了兩種向 Nginx 添加可選模組的方法,一種是從原始碼編譯和安裝,另一種在本文中描述。

那麼,我應該選擇哪種方式,以便自動更新仍然執行並應用於 Nginx及其可選模組?或者我應該使用特定於 Nginx 的命令/腳本而不是使用unattended-upgrades實用程序創建一個 cron 作業?我可以在批量更新和僅安全更新之間進行選擇以自動應用於標準模組可選模組嗎?最後,是否有可能在執行中自動更新 Nginx 的模組(沒有任何連接被丟棄),就像文件所暗示的那樣

sudo kill -USR2 $( cat /run/nginx.pid )

PS 實際上,我不確定unattended-upgrades實用程序是否會首先自動更新標準模組,因為安裝 Nginx 後沒有足夠的時間來肯定地說。

nginx 中的所有模組都被編譯到核心二進製文件中,因此對 nginx 的任何更新也會更新模組。

我對 apt-get 並不熟悉,但我相信您連結到的文章基本上只是修改包以告訴它使用附加模組。儲存庫中的任何更新都會將其恢復為庫存模組。

如果您需要 nginx 的特定模組,您最好自己編譯它。它相對簡單,只需將適當的選項傳遞給configure命令以包含特定模組(即--with-http_gzip_static_module用於 gzip 靜態模組)。絕對可以編寫腳本,儘管我不確定您將如何自動確定目前版本是什麼。

從原始碼建構 Nginx

Nginx 模組

引用自:https://serverfault.com/questions/444889