應用管理
在 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 按鈕,我們可以點選這個按鈕回滾到之前的歷史版本。

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