Nginx 作为一款高性能的开源 Web 服务器和反向代理服务器,凭借其轻量级、高并发处理能力和灵活的模块化设计,被广泛应用于以下核心场景:
sendfile
零拷贝技术,降低 CPU 和内存开销。nginx
server {
location /static/ {
root /var/www/html;
expires 30d; # 缓存控制
}
}
weight
)、IP 哈希(ip_hash
)、最少连接(least_conn
)。max_fails
和 fail_timeout
剔除故障节点。示例配置:
upstream backend {
server 10.0.0.1:8080 weight=3;
server 10.0.0.2:8080;
server 10.0.0.3:8080 backup; # 备用服务器
}
server {
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
nginx
server {
listen 443 ssl http2;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
gzip on; # 启用压缩
...
}
rewrite
)、重定向(redirect
)和流量控制。nginx
location /api/v1 {
proxy_pass http://api_v1_service;
}
location /api/v2 {
proxy_pass http://api_v2_service;
}
limit_req
模块防止 DDoS 攻击。allow/deny
)、Basic 认证。nginx
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
location / {
limit_req zone=req_limit burst=20;
}
nginx
location ~ \.php$ {
proxy_pass http://php_backend;
}
location ~* \.(jpg|css|js)$ {
root /var/www/static;
}
access_log
)和错误日志(error_log
)。nginx
location /ws {
proxy_pass http://websocket_backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
通过合理配置,Nginx 能够显著提升系统的性能、安全性和可维护性,是现代 Web 架构的核心组件之一。