您现在的位置是:系统运维 >>正文
搞定 Nginx 配置!反向代理、HTTPS、缓存优化一篇就够了
系统运维48人已围观
简介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.noorid.com/news/148d9999752.html
相关文章
如何获取 Spring heapdump 中的密码明文
系统运维Actuator是Spring Boot提供的应用系统监控的开源框架。在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,然后通过一些工具来分析heap ...
【系统运维】
阅读更多Windows10我的电脑在哪里
系统运维我们在使用win10操作系统的时候,有些情况下会发现我的电脑图标不见了,不知道该去哪里找到。小编觉得可以在电脑的个性化中进行桌面图标的相关设置即可。具体步骤就来看一下小编是怎么做的吧~希望可以帮助到你 ...
【系统运维】
阅读更多win10桌面回收站不见了怎么办
系统运维很多小伙伴打开电脑的时候发现桌面图标回收站不见了,可能是你不小心快捷键删除了,这个时候该如何恢复呢?今天小编教你们在个性化设置里恢复图标,以后都不用担心删除了图标无法恢复的问题,具体的步骤下面跟小编一 ...
【系统运维】
阅读更多
热门文章
最新文章
友情链接
- dwg文件手机怎么打开
- 如何在苹果手机上调节屏幕亮度?(简单操作让屏幕变得更暗的技巧)
- Excel表格调整坐标轴位置的方法教程
- Excel突出显示前10%数据的方法
- 探索魔甲人一体机的全能之道(揭秘魔甲人一体机的独特功能与设计)
- 国产迈腾品质如何?(解析国产迈腾的关键卖点与用户评价)
- Soul如何屏蔽手机通讯录
- 磁盘扫描程序(使用磁盘扫描程序对C盘进行扫描修复的方法与技巧)
- 如何使用苹果屏幕镜像进行安装(从零开始教你如何使用苹果屏幕镜像安装Mac系统)
- 奔腾J3710处理器的性能和特点分析(探索奔腾J3710处理器在性能、功耗和多媒体表现方面的优势) 香港物理机企业服务器亿华云源码库b2b信息平台云服务器网站建设