全局配置
目录结构
|-- /
|-- global_configs.yaml
global_configs.yaml 文件中需位于您配置目录的根目录中,并且名称固定为 global_configs.yaml。
其中包含 访问日志格式、自定义共享内存区、全局变量 等配置。
访问日志格式配置
在 OpenResty Edge 中,您可以配置多个访问日志格式。为此,访问日志格式以数组形式进行表示。
参数说明
| 参数名 | 数据类型 | 是否必选 | 描述 |
|---|---|---|---|
| name | string | 是 | 访问日志格式的唯一标识名称 |
| format | string | 是 | 定义日志格式 |
| escape | string | 否 | 指定日志字符的转义方式,可选值包括:default、none、json |
| default | bool | 否 | 指定该日志格式是否作为默认日志格式 |
default 参数决定是否将此日志格式设置为默认选项。如果设置为默认,那么没有特别指定日志格式的应用将采用该格式。
注意:配置中有且只能有一个默认的日志格式。
配置示例
access_log_formats:
- default: false
name: example
escape: json
format: |-
{
"time_local": "$time_local",
"method": "$request_method",
"request": "$request",
"transid": "$or_global_user_variable_uuid",
"upstream_header_time": "$upstream_header_time"
}
依照此示例配置,将会创建一个名为 example 的访问日志格式。在日志格式列表中,将包含 example 和 main 两个日志格式。
在 format 参数中指定的日志格式内容里,使用了一个名为 uuid 的全局用户变量,表示为 $or_global_user_variable_uuid。
自定义共享内存区配置
您可以定义多个共享内存区,因此这些区域以数组形式表示。
参数详解
| 参数名 | 数据类型 | 是否必选 | 描述 |
|---|---|---|---|
| name | string | 是 | 共享内存区的唯一标识名称 |
| size | string | 否 | 定义共享内存区的容量大小 |
| size_unit | string | 是 | 指明共享内存区大小的单位,可选值为 k、m、g |
配置示例
custom_shared_zone:
- size_unit: m
name: cache_shared_dict
size: 1
- size_unit: m
name: rec_cache_shared_dict
size: 1
全局用户变量
您可以定义多个全局变量,因此变量以数组形式表示。
参数详解
| 参数名 | 数据类型 | 是否必选 | 描述 |
|---|---|---|---|
| name | string | 是 | 变量的唯一标识名称 |
| type | string | 是 | 变量的数据类型,可选值为 string, num, int, bool |
| default | string | 是 | 变量的默认值 |
配置示例
user_variables:
- name: uuid
type: string
default: '-'
在此示例中,定义了一个名为 uuid 的全局用户变量。
全局用户变量可以在访问日志或 Edgelang 脚本中使用,格式为 $or_global_user_variable_<变量名>。例如:
$or_global_user_variable_uuid