全域性配置
目錄結構
|-- /
|-- 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