您现在的位置是:数据库 >>正文
搞定 Nginx 配置!反向代理、HTTPS、缓存优化一篇就够了
数据库194人已围观
简介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 官方文档学习 。
亿华云Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/037c8899874.html
相关文章
运营和工业控制系统中的网络安全事件出现令人震惊的上升趋势
数据库根据罗克韦尔自动化公司的数据,60%的针对工业部门的网络攻击是由与国家有关联的恶意行为者主导的,往往是由内部人员无意中引起的(约33%)。这证实了行业研究的结果,OT/ICS(工业控制系统)中的网络安 ...
【数据库】
阅读更多探索B85主板性能和特点(了解B85主板的关键特征和优势)
数据库随着计算机硬件技术的不断发展,B85主板作为一种常见的电脑主板,扮演着连接各个硬件组件的重要角色。本文将深入探讨B85主板的性能和特点,以帮助读者更好地了解这一硬件设备。介绍B85主板的历史和背景B8 ...
【数据库】
阅读更多大白菜装机版安装XP系统详细使用教程
数据库在计算机使用过程中,有时我们需要安装旧版本的操作系统,如XP系统。而大白菜装机版是一款专业的系统装机软件,可以帮助用户轻松安装各种版本的操作系统。本文将详细介绍如何使用大白菜装机版安装XP系统,让您快 ...
【数据库】
阅读更多