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