Nginx的核心功能--正向代理、反向代理、缓存和Rewrite

Nginx作为高性能的Web服务器,其核心功能主要体现在以下四大模块:

一、正向代理

主要用于客户端访问外部网络的中转服务。典型配置示例:

nginx 复制代码
server {
    listen 8080;
    resolver 8.8.8.8;
    
    location / {
        proxy_pass http://$http_host$request_uri;
        proxy_set_header Host $http_host;
    }
}

注:需配合客户端代理设置使用

二、反向代理

核心应用场景是负载均衡与服务隐藏,常见配置:

nginx 复制代码
upstream backend {
    server 10.0.0.1:8000 weight=3;
    server 10.0.0.2:8000;
}

server {
    location / {
        proxy_pass http://backend;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

支持7种负载策略:轮询、权重、IP哈希等

三、缓存加速

多级缓存配置示例:

nginx 复制代码
proxy_cache_path /data/cache levels=1:2 keys_zone=my_cache:10m;

server {
    location / {
        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_use_stale error timeout;
    }
}

缓存维度控制:

  • 根据URL、请求参数生成缓存键
  • 支持缓存过期时间分级设置
  • 可定制缓存清除策略

四、Rewrite引擎

URL重写三要素:

nginx 复制代码
rewrite ^/old/(.*)$ /new/$1 permanent;

语法结构:
r e w r i t e < r e g e x > < r e p l a c e m e n t > [ f l a g ] ; rewrite\ \ <regex>\ \ <replacement>\ \ [flag]; rewrite <regex> <replacement> [flag];

常用标记说明:

Flag 作用域 执行特点
last server块 重写后继续匹配location
break server块 立即终止匹配过程
redirect 全局 返回302临时重定向
permanent 全局 返回301永久重定向

典型应用场景:

  1. 动态URL静态化
  2. 多域名统一规范化
  3. A/B测试流量分割
  4. 灰度发布路径控制

这四大功能模块通过组合使用,可构建高性能的Web服务架构,QPS处理能力可达5万+/秒(取决于硬件配置)。

相关推荐
hkNaruto2 分钟前
【DevOps】基于Nexus部署内网pypi代理镜像仓库操作手册
运维·devops
ximy133512 分钟前
AI服务器工作之线材的接口介绍
运维·服务器
ximy133517 分钟前
AI服务器工作之ubuntu系统下的驱动安装
运维·服务器·ubuntu
²º²²এ松18 分钟前
蓝牙低功耗(BLE)通信的中心设备/外围设备(连接角色)、主机/从机(时序角色)、客户端/服务器(数据交互角色)的理解
运维·服务器·数据库
Maple_land28 分钟前
常见Linux环境变量深度解析
linux·运维·服务器·c++·centos
_Johnny_1 小时前
Redis 升级操作指南:单机与主从模式
数据库·redis·缓存
不爱洗脚的小滕1 小时前
【Redis】三种缓存问题(穿透、击穿、双删)的 Golang 实践
redis·缓存·golang
提笔了无痕1 小时前
什么是Redis的缓存问题,以及如何解决
数据库·redis·后端·缓存·mybatis
lang201509282 小时前
Spring Boot缓存机制全解析
spring boot·后端·缓存
xx.ii2 小时前
jenkins流水线项目部署
运维·jenkins