- OpenResty完全開發(fā)指南:構(gòu)建百萬級別并發(fā)的Web應(yīng)用
- 羅劍鋒
- 413字
- 2019-07-25 11:55:07
2.4 變量
“變量”是Nginx內(nèi)部保存的運行時HTTP/TCP請求相關(guān)數(shù)據(jù),可以在編寫配置文件時任意引用,使得編寫Nginx配置文件更像是編寫程序(但注意不要與編程語言里的變量概念混淆,兩者是完全不同的)。
在配置文件里使用變量需要以“$”開頭,例如$request_method、$args、$uri等(這與Shell和Perl是一樣的)。變量的用法很多,例如記錄訪問日志,設(shè)置反向代理的參數(shù),或者傳遞給Lua程序獲取各種運行時信息。
以下列舉了幾個在HTTP服務(wù)里較常見的變量:
■ $uri :當前請求的URI,但不含“? ”后的參數(shù); ■ $args :當前請求的參數(shù),即“? ”后的字符串; ■ $arg_xxx :當前請求里的某個參數(shù),“arg_”后是參數(shù)的名字; ■ $http_xxx :當前請求里的xxx頭部對應(yīng)的值; ■ $sent_http_xxx :返回給客戶端的響應(yīng)頭部對應(yīng)的值; ■ $remote_addr :客戶端IP地址。
如果執(zhí)行下面的curl命令:
curl 'http://localhost/index.html? a=1&b=2' -H 'hello: world'
那么這些變量的值就是:
$uri = /index.html $args = a=1&b=2 $arg_a = 1
$arg_b = 2 $http_hello = world $sent_http_server = openresty/1.13.6.2 $remote_addr = 127.0.0.1
Nginx內(nèi)置的變量非常多,詳細的列表可以參考Nginx官網(wǎng)文檔。此外,Nginx也允許使用指令自定義變量,最常用的就是set,例如:
set $max_size 10000; #定義變量$max_size="10000"
推薦閱讀
- Flutter開發(fā)實戰(zhàn)詳解
- Apache Oozie Essentials
- Power Up Your PowToon Studio Project
- 小創(chuàng)客玩轉(zhuǎn)圖形化編程
- PyTorch自動駕駛視覺感知算法實戰(zhàn)
- Boost C++ Application Development Cookbook(Second Edition)
- R語言編程指南
- Julia Cookbook
- Troubleshooting PostgreSQL
- 從Excel到Python:用Python輕松處理Excel數(shù)據(jù)(第2版)
- PHP+Ajax+jQuery網(wǎng)站開發(fā)項目式教程
- 數(shù)據(jù)結(jié)構(gòu):Python語言描述
- 信息學奧林匹克競賽初賽精講精練
- Spring Boot學習指南:構(gòu)建云原生Java和Kotlin應(yīng)用程序
- Learning iOS Penetration Testing