應用管理

在 Plus Console 中,會以應用的方式對配置檔案進行管理。

一份 OpenResty 完整的配置檔案目錄結構通常如下所示:

conf/
conf/nginx.conf
conf/conf.d/vhost1.conf
conf/conf.d/vhost2.conf
conf/ssl/cert.crt
conf/ssl/cert.key
conf/ssl/ca.crt
lua/foo.lua
lua/bar.lua
...

Plus Console 應用也會按照這樣的目錄結構對配置檔案進行管理。

目前應用型別只支援獨佔型別,即一個應用中管理著一個 OpenResty 例項中的所有配置檔案。

下面我們將詳細介紹應用中的各項功能。

建立應用

在應用介面,點選 New Application 按鈕建立應用。

我們可以在彈框中填寫應用名稱,應用所在分割槽,還可以選擇是否使用預設配置,或者選擇匯入現有配置。

點選 Create 按鈕,建立完成後會自動跳轉到應用詳情頁。

配置檔案的新增,刪除和重新命名操作都在左側目錄樹內完成。如果要編輯檔案內容,點選目錄樹上的檔案,在右側編輯框中進行檔案的編輯。

在應用列表也可以看到剛剛的新建的應用,點選應用名稱會進入應用詳情頁面。

匯入配置檔案

在應用詳情頁面可以匯入現有的開源 OpenResty 應用配置檔案。

目前只支援匯入 zip 包,zip 包的目錄層級類似這樣:

conf/
conf/nginx.conf
conf/conf.d/
conf/conf.d/vhost.conf

一個完整的應用至少包括 conf 目錄 和 conf/nginx.conf 檔案。

選擇 zip 包並上傳完成之後,下面的目錄樹就會出現剛剛上傳的配置檔案了。

特殊檔案型別

除了普通的配置檔案,還有幾種特殊的檔案型別,會被識別成不同的功能模組。

動態指標

.sql 結尾的檔案會被識別成動態指標,檔名為指標名。

動態指標用法可以參考這個文件:動態指標

Edgelang

.edge 結尾的檔案會被識別成 Edgelang 模組,檔名為模組名。

Edgelang 用法可以參考這個文件:Edgelang

WAF

.waf 結尾的檔案會被識別成 WAF 模組,檔名為 WAF 規則集名稱。

WAF 模組用法可以參考這個文件:WAF 模組

Wasm

在 wasm32 以及 wasm64 建立的資料夾以及 C 檔案,會被識別成 Wasm 模組,檔名為 Wasm 模組名。wasm32 下的模組會被編譯成 wasm32 的 so 檔案,wasm64 下的模組會被編譯成 wasm 64 位的 so 檔案。

Wasm 模組用法可以參考這個文件:Wasm

驗證配置檔案

配置檔案修改之後,我們需要驗證 nginx 配置檔案,或者動態指標,Edgelang,WAF,Wasm 原始檔修改後有沒有引入語法錯誤,可以點選編輯框上方的 Validate 按鈕,

如果檢查失敗,編輯框下面會顯示本次驗證的錯誤訊息,編輯框中也會定位到錯誤行。

執行測試

除了配置檔案的語法檢查,我們還提供了執行測試功能。

執行測試之前需要新增測試請求,測試請求支援配置請求方法、請求 URL、請求頭以及請求體。

配置完測試請求之後,點選編輯框上方的 Run Test 按鈕啟動測試。

測試過程中會在沙箱環境中啟動當前應用,然後按照測試集給沙箱中的應用傳送測試請求。

如果測試請求正常返回,編輯框下面會顯示請求的響應資訊:

我們還會收集每次測試過程中應用產生的訪問日誌和錯誤日誌,給使用者提供更多的報錯和除錯資訊。

另外,在應用內還支援建立自簽證書,可以用於生成測試 HTTPS 請求所需要的服務端證書。

匯出配置檔案

如果伺服器叢集不在 Plus Console 中管理,則需要手動將應用的配置檔案部署到伺服器上。我們可以透過編輯框上方的 Export Compiled 按鈕進行匯出,會得到一個 zip 壓縮包。

這個壓縮包內的動態指標,Edgelang、WAF 和 Wasm 模組都是編譯後可以直接使用的 .ljbc.so 檔案。

釋出配置檔案

應用內的配置檔案支援版本控制,釋出之後會生成一條釋出記錄,生成釋出記錄之後,未來可以回退到之前的歷史釋出。如果伺服器叢集是由 Plus Console 管理的,應用釋出後會自動將配置檔案推送到伺服器上並生效。

在應用內修改完檔案,點選儲存後,修改的內容會被儲存,此時右上角會出現提示,點選此提示,即可跳轉到釋出頁面。

可以點選 Check for details 按鈕,檢視變更詳情。

在釋出頁面可以選擇 清除未釋出更改釋出更改

  • 清除未釋出更改:撤銷當前所有未釋出的更改,檔案內容會恢復到上一次已釋出版本的狀態。

  • 釋出更改:保留當前所有更改,生成一條釋出記錄。未來檔案可以回滾到這個釋出版本的狀態。

注意,釋出之前會檢查當前 Console 有沒有配置叢集,如果沒有可用叢集會提示先建立叢集。

釋出完成之後,下方釋出歷史中會出現一條釋出記錄。

如果我們再新增一條釋出記錄,則之前的釋出歷史右側列表會出現 Rollback to this Release 按鈕,我們可以點選這個按鈕回滾到之前的歷史版本。

回滾成功之後會生成一條回滾歷史。