Nginx

將 LUA 建構為動態 Nginx 模組

  • June 5, 2020

我發現要將 LUA 與 Nginx 一起使用,我需要:

我想知道如何建構模組本身,然後將其載入到打包的 Nginx 中。我不願意建構 Nginx,因為這意味著我會失去包更新。我怎樣才能做到這一點?

我想知道如何建構模組本身,然後將其載入到打包的 Nginx 中。

要建構模組本身,您可以獲取 NGINX 模組的任何現有模組 SRPM 並根據需要進行調整。最重要的是確保您傳遞--with-compat給 NGINX 配置腳本,這樣模組就不必使用與您將使用它的 NGINX 完全相同的參數進行編譯。

您還必須為 建構一個單獨的包luajit2,以從更快的 Lua 執行中受益(或確保它在模組包中靜態連結)。

建構單獨的luajit2包是個好主意,因為它與模組解耦,您可以在新版本發佈時單獨更新它。

然後,您必須監視 NGINX 版本/模組/luajit2 庫版本以不斷重建模組/庫包,然後將其應用到您手動設置的儲存庫。

在一天結束的時候,我們認為自己做這整個事情有點過頭了,並選擇了 GetPageSpeed 儲存庫,它提供了 Lua 模組和更快的 luajit2。我說它節省了一些錢,因為 NGINX 主線大約每 4 到 6 週發布一次,我們可以只yum upgrade使用新的 NGINX/模組(那裡不僅有 Lua 模組,而且我們還使用它們的 PageSpeed 和 Brotli)。

上面提到的 OpenResty 的免費軟體替代品並沒有削減它,因為它們往往依賴於舊的 NGINX 版本,我們想要最新的主線 NGINX 可用。

對於一個業餘項目,我會說不要打擾並編譯它。但是對於生產案例,由於安全風險和所有維護麻煩,我不建議編譯。

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