Nginx 是一个高性能的 HTTP 和反向代理服务器,凭借其轻量级、高并发处理能力和灵活的模块化设计,在 IT 领域有广泛的应用场景。以下是其主要应用场景及技术细节:
expires
、Cache-Control
头)。sendfile
和 gzip
提升传输效率。nginx
server {
listen 80;
root /var/www/html;
location /static/ {
expires 30d; # 客户端缓存30天
}
}
proxy_buffering
)减轻后端压力。nginx
upstream backend {
server 10.0.0.1:8080 weight=2; # 权重负载均衡
server 10.0.0.2:8080;
}
server {
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
max_fails
和 fail_timeout
剔除故障节点。proxy_cache_path
:定义缓存存储路径。proxy_cache
:启用缓存。proxy_cache_valid
:设置缓存有效期。nginx
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
server {
location /api/ {
proxy_cache my_cache;
proxy_cache_valid 200 5m; # 缓存200响应码5分钟
proxy_pass http://backend;
}
}
ssl_session_cache
提升握手性能。nginx
server {
listen 443 ssl http2;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://backend;
}
}
limit_req
防止 DDoS 攻击。allow/deny
限制 IP 访问。nginx
location /admin/ {
allow 192.168.1.0/24;
deny all; # 禁止其他IP访问
}
nginx
location /static/ {
root /var/www;
}
location / {
proxy_pass http://dynamic_backend;
}
access_log
记录请求信息。error_log
排查问题。nginx-module-vts
暴露指标。location
路由到不同微服务。nginx
location /user-service/ {
proxy_pass http://user_service;
}
location /order-service/ {
proxy_pass http://order_service;
}
Nginx 的核心价值在于其 高性能、低资源占用 和 模块化扩展能力,适用于从简单的静态服务器到复杂的云原生架构。实际应用中,常通过组合上述场景(如反向代理 + 负载均衡 + 缓存)构建高效解决方案。