您现在的位置是:测试开发营 > 系统运维

搞定 Nginx 配置!反向代理、HTTPS、缓存优化一篇就够了

测试开发营2025-11-26 21:25:46【系统运维】3人已围观

简介Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于 Web 服务、负载均衡和 API 网关等场景。本文将详细介绍 Nginx 的常用配置,涵盖基本配置、静态资源服务、反向代理、负载均衡

Nginx 是搞定一款高性能的 HTTP 和反向代理服务器,广泛应用于 Web 服务 、配篇够负载均衡和 API 网关等场景。置反

本文将详细介绍 Nginx 的向代常用配置,涵盖基本配置、缓存静态资源服务、优化反向代理 、搞定负载均衡 、配篇够HTTPS 配置、置反缓存优化等内容   ,向代帮助读者快速掌握 Nginx 的云计算缓存核心功能 。

一 、优化Nginx 基础配置

Nginx 的搞定核心配置文件通常位于 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf ,其结构主要分为:

全局块(main):影响 Nginx 整体运行的配篇够配置(如 worker 进程数、日志路径等)。置反events 块:配置网络连接相关参数(如最大并发连接数)  。http 块  :定义 HTTP 服务器行为(如虚拟主机 、反向代理等)。

全局配置示例 :

复制user nginx; # 运行 Nginx 的用户 worker_processes auto; # 自动匹配 CPU 核心数 error_log /var/log/nginx/error.log warn; # 错误日志路径 pid /var/run/nginx.pid; # 进程 PID 文件位置 events { worker_connections 1024; # 每个 worker 进程的最大连接数 use epoll; # 使用 epoll 高效事件模型(Linux) }1.2.3.4.5.6.7.8.9.10.

二 、服务器租用静态文件服务

Nginx 常用于托管静态资源(HTML  、CSS、JS、图片等) ,配置简单且高效 。

1. 基础静态服务器配置 复制http { server { listen 80; # 监听 80 端口 server_name example.com; # 域名或 IP location / { root /var/www/html; # 静态文件根目录 index index.html; # 默认首页 } # 单独配置图片缓存 location ~* \.(jpg|png|gif)$ { root /var/www/images; expires 30d; # 客户端缓存 30 天 } } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19. root :指定静态文件根目录 。index :定义默认访问文件。expires:设置浏览器缓存时间  ,减少服务器负载。

三 、反向代理配置

Nginx 可作为反向代理 ,将请求转发到后端服务器(如 Tomcat 、Node.js  、高防服务器Python 应用等)。

1. 基本反向代理 复制server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:8080; # 转发到本机 8080 端口 proxy_set_header Host $host; # 传递原始 Host 头 proxy_set_header X-Real-IP $remote_addr; # 传递客户端 IP } }1.2.3.4.5.6.7.8.9.10.11. proxy_pass :指定后端服务器地址 。proxy_set_header:设置 HTTP 请求头 ,确保后端获取真实客户端信息 。2. 负载均衡

Nginx 可分配请求到多个后端服务器,提高系统可用性。

复制http { upstream backend { server 192.168.1.100:8080 weight=3; # 权重 3 ,处理更多请求 server 192.168.1.101:8080; server 192.168.1.102:8080 backup; # 备用服务器 } server { listen 80; server_name app.example.com; location / { proxy_pass http://backend; # 代理到 upstream proxy_next_upstream error timeout http_500; # 故障转移策略 } } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19. upstream:定义后端服务器组 ,支持 weight(权重)、backup(备用)等参数。proxy_next_upstream :定义何种情况下切换服务器(如超时、500 错误)。

四 、香港云服务器HTTPS 安全配置

Nginx 支持 SSL/TLS 配置 ,可用于加密数据传输 ,提高安全性。

1. 基本 HTTPS 配置 复制server { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # 优化 SSL 性能 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { root /var/www/html; index index.html; } } # HTTP 强制跳转 HTTPS server { listen 80; server_name example.com; return 301 https://$host$request_uri; }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30. ssl_certificate 和 ssl_certificate_key :指定 SSL 证书路径 。ssl_protocols 和 ssl_ciphers:配置加密协议 ,提高安全性。return 301  :HTTP 请求自动跳转 HTTPS。

五. 缓存优化

Nginx 可缓存动态内容 ,减少后端压力 ,提高响应速度 。

1. 代理缓存配置 复制http { proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; server { listen 80; server_name cache.example.com; location / { proxy_pass http://backend; proxy_cache my_cache; # 启用缓存 proxy_cache_valid 200 302 10m; # 缓存 200/302 响应 10 分钟 proxy_cache_valid 404 1m; # 缓存 404 响应 1 分钟 proxy_cache_key "$scheme$host$request_uri"; # 缓存键 } } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18. proxy_cache_path:定义缓存存储路径和大小。proxy_cache_valid:设置不同 HTTP 状态码的缓存时间 。建站模板

六 、日志与访问控制

Nginx 可以记录访问日志 ,并限制某些 IP 或请求频率 。

1. 访问日志配置 复制http { log_format main $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"; access_log /var/log/nginx/access.log main; }1.2.3.4.5.6.7.8. 2. IP 访问限制 复制location /admin { allow 192.168.1.100; # 允许特定 IP deny all; # 拒绝其他所有 IP }1.2.3.4. 3. 限流(Rate Limiting) 复制http { limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s; server { location /api { limit_req zone=req_limit burst=20 nodelay; # 每秒 10 请求,允许突发 20 proxy_pass http://backend; } } }1.2.3.4.5.6.7.8.9.10.11.

七、结语

本文介绍了 Nginx 的常用配置,掌握以后可以灵活运用 Nginx 搭建高性能 Web 服务 、API 网关或负载均衡系统。

关于更多高级功能(如 Lua 脚本 、动态模块),读者可自行参考 Nginx 官方文档学习。

亿华云

很赞哦!(87)