变量与内置指令
Nginx 支持丰富的内置变量与指令,通过这些工具可以实现动态请求处理、条件判断和高级路由功能。
一、常用内置变量
| 变量 | 说明 |
|---|---|
$host |
客户端请求的 Host |
$uri |
请求的 URI |
$document_root |
当前请求根目录 |
$remote_addr |
客户端 IP 地址 |
$request_method |
请求方法,如 GET、POST |
$query_string |
请求的查询参数 |
$status |
响应状态码 |
使用示例
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
add_header X-Client-IP $remote_addr;
}
}
`
二、常用内置指令
1. rewrite
用于重写 URL 或跳转:
location /old-path/ {
rewrite ^/old-path/(.*)$ /new-path/$1 permanent;
}
2. return
快速返回状态码或重定向:
location / {
return 301 https://example.com$request_uri;
}
3. set
定义自定义变量:
set $my_var "Hello Nginx";
4. if 条件判断
if ($request_method = POST) {
return 405;
}
5. proxy_pass
反向代理指令,用于将请求转发到后端服务:
location /api/ {
proxy_pass http://127.0.0.1:8080/;
}
三、使用建议
- 尽量减少复杂的
if嵌套,可用 map 或 try_files 替代 - 熟悉常用内置变量,可灵活处理请求头、请求路径与客户端信息
- 配合 rewrite、return、proxy_pass 指令,实现动态路由和反向代理
掌握 Nginx 的变量与内置指令,可以让你对请求处理逻辑进行精细控制,是配置高性能 Web 服务的重要技能。
相关内容
- 备份与恢复 本节介绍 Nginx 配置备份与恢复方法,包括配置文件备份、日志备份、快速恢复和灾难恢复策略,保障服务安全可靠。
- 常用命令与服务管理 本节介绍常用的 nginx 命令与服务管理方法,包括启动、停止、重载、日志查看、配置检测等操作,帮助你熟练掌握 nginx 文档中的服务运维要点。
- Nginx 教程:目录结构与配置文件详解 本节 Nginx 教程详细介绍 nginx 目录结构与配置文件组成,帮助你掌握 nginx.conf、sites-enabled、logs 等常见路径及配置含义...
- Nginx 与 Docker 集成 本节介绍 Nginx 与 Docker 的集成方法,包括 Nginx 容器部署、配置卷挂载、端口映射和与后端服务协作,实现容器化高可用 Web 服务。
- FastCGI 工作原理 本节讲解 Nginx 与 FastCGI 的工作原理,包括请求转发、PHP-FPM 处理流程及数据交互方式,帮助你理解 nginx.conf 中动态内容处理机制...
- FastCGI 参数详解 本节详细讲解 Nginx 与 FastCGI 配合时的参数配置,包括 fastcgi_param 指令、标准参数与自定义参数,帮助你精确控制 PHP-FPM 请...