核心内容摘要
探寻东瀛秘境:Juzz引领的日本潮流文化之旅
Nginx 常用配置围绕静态资源服务、反向代理、负载均衡、HTTPS 配置、限流等核心场景以下是结构化的常用配置示例及关键说明。
全局基础配置nginx.conf 顶部控制 Nginx 进程的核心参数影响整体性能。
# 工作进程数建议等于 CPU 核心数 worker_processes 4; # 错误日志路径及级别debug/info/warn/error/crit error_log /var/log/nginx/error.log warn; # PID 文件路径 pid /var/run/nginx.pid; events { # 单个工作进程的最大连接数 worker_connections 1024; # 多路复用模型Linux 推荐 epoll use epoll; }
静态资源服务配置用于部署前端静态文件Vue/React 打包产物优化访问性能。
http { include mime.types; default_type application/octet-stream; # 开启高效文件传输模式 sendfile on; # 长连接超时时间 keepalive_timeout 65; # 开启 gzip 压缩减小传输体积 gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xmlrss text/javascript; server { listen 80; server_name localhost; # 静态资源根目录 root /usr/share/nginx/html; index index.html index.htm; location / { # 解决前端路由刷新 404 问题SPA 应用必备 try_files $uri $uri/ /index.html; } # 静态资源缓存策略图片/JS/CSS 缓存 30 天 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; add_header Cache-Control public, max-age2592000; } } }
反向代理配置代理 Java 后端服务将前端请求转发到后端 Spring Boot/Tomcat 服务解决跨域和端口暴露问题。
http { server { listen 80; server_name api.example.com; location /api/ { # 后端服务地址 proxy_pass http://
127.
0.
1:8080/; # 传递真实客户端 IP 给后端 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 反向代理超时时间 proxy_connect_timeout 60s; proxy_read_timeout 60s; } } }
负载均衡配置分发请求到多个后端实例提升系统可用性和并发能力。
http { # 定义后端服务集群 upstream backend_cluster { # 策略1轮询默认 server
192.
168.
101:8080 weight1; server
192.
168.
102:8080 weight2; # weight 越大权重越高 # 策略2ip_hash会话粘滞同一IP固定到同一实例 # ip_hash; # 策略3fair按后端响应时间分配需额外模块 # fair; } server { listen 80; server_name www.example.com; location / { proxy_pass http://backend_cluster; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
HTTPS 配置HTTP 转 HTTPS配置 SSL 证书实现加密传输。
http { server { listen 80; server_name example.com; # HTTP 强制跳转 HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name example.com; # SSL 证书路径 ssl_certificate /etc/nginx/ssl/example.crt; ssl_certificate_key /etc/nginx/ssl/example.key; # 安全的 SSL 协议版本 ssl_protocols TLSv
2 TLSv
3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root /usr/share/nginx/html; index index.html index.htm; } } }
限流配置防止恶意请求限制单位时间内的请求数保护后端服务。
http { # 定义限流规则基于 IP 限流10r/s每秒10个请求缓冲区 20 个请求 limit_req_zone $binary_remote_addr zonelimit_zone:10m rate10r/s; server { listen 80; server_name example.com; location / { # 应用限流规则burst 突发请求数nodelay 不延迟处理 limit_req zonelimit_zone burst20 nodelay; proxy_pass http://backend_cluster; } } }