应用管理
在 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
按钮,我们可以点击这个按钮回滚到之前的历史版本。
回滚成功之后会生成一条回滚历史。