当前位置: 首页 > news >正文

Nginx 核心功能笔记

目录

一、Nginx 简介

二、核心功能详解

三、关键指令解析

四、性能优化要点

五、常见应用场景



一、Nginx 简介

  1. 定位
    • 高性能的 HTTP/反向代理服务器,同时支持邮件协议代理(IMAP/POP3/SMTP)。
    • 采用 事件驱动、异步非阻塞 架构,支持高并发(单机可处理数万到百万级并发连接)。
    • 内存占用低,配置文件简洁,模块化设计。
  2. 核心优势
    • 轻量级:相比 Apache,资源消耗更低。
    • 高扩展性:通过模块化设计支持动态扩展功能。
    • 热部署:支持不停止服务更新配置、升级版本。

二、核心功能详解

1. 静态资源服务器(Web Server)

  • 功能:直接托管 HTML、CSS、JS、图片等静态文件。
  • 配置示例

server {

    listen 80;

    server_name example.com;

    root /var/www/html;  # 静态文件根目录

    location / {

        index index.html;

    }

    # 压缩优化

    gzip on;

    gzip_types text/plain application/json text/css;

}

2. 反向代理(Reverse Proxy)

  • 功能:将客户端请求转发到后端服务器,隐藏真实服务端信息。
  • 典型场景:负载均衡、安全隔离、SSL 终止。
  • 配置示例

server {

    listen 80;

    server_name api.example.com;

    location / {

        proxy_pass http://backend_servers;  # 转发到后端服务器组

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

    }

}

3. 负载均衡(Load Balancing)

  • 支持算法
    • round-robin(默认,轮询)
    • least_conn(最小连接数)
    • ip_hash(基于客户端 IP 哈希分配)
    • weight(权重分配)
  • 配置示例

upstream backend_servers {

    ip_hash;  # 会话保持

    server 192.168.1.101:8080 weight=3;

    server 192.168.1.102:8080;

    server 192.168.1.103:8080 backup;  # 备用服务器

}

4. SSL/TLS 终止

  • 功能:处理 HTTPS 加密通信,减轻后端服务器压力。
  • 配置示例

server {

    listen 443 ssl;

    server_name secure.example.com;

    ssl_certificate /etc/nginx/ssl/server.crt;

    ssl_certificate_key /etc/nginx/ssl/server.key;

    ssl_protocols TLSv1.2 TLSv1.3;

    location / {

        proxy_pass http://backend_servers;

    }

}

5. 动静分离

  • 功能:将动态请求(如 PHP、Java)和静态资源(如图片、CSS)分开处理。
  • 配置示例

server {

    location /static/ {

        alias /data/static/;  # 静态资源目录

        expires 30d;          # 缓存控制

    }

    location / {

        proxy_pass http://app_server;  # 动态请求转发

    }

}

6. 虚拟主机(Virtual Host)

  • 功能:单机托管多个域名/网站。
  • 配置示例

server {

    listen 80;

    server_name site1.com;

    root /var/www/site1;

}

server {

    listen 80;

    server_name site2.com;

    root /var/www/site2;

}

7. 访问控制

  • 功能:基于 IP、用户认证限制访问。
  • 配置示例

location /admin/ {

    allow 192.168.1.0/24;  # 允许特定 IP 段

    deny all;              # 拒绝其他 IP

    auth_basic "Restricted";

    auth_basic_user_file /etc/nginx/.htpasswd;  # 用户认证

}

8. 日志管理

  • 功能:记录访问日志和错误日志。
  • 配置示例

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;

    error_log /var/log/nginx/error.log warn;

}

9. 缓存加速

  • 功能:缓存后端响应,减少重复请求。
  • 配置示例

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;

server {

    location / {

        proxy_cache my_cache;

        proxy_pass http://backend;

        proxy_cache_valid 200 302 10m;  # 缓存有效时间

    }

}

10. 热部署与平滑重启

  • 热部署

nginx -s reload  # 重新加载配置(不中断服务)

  • 版本升级
    替换二进制文件后通过 kill -USR2 <master_pid> 实现无缝升级。

三、关键指令解析

  • worker_processes:设置工作进程数(通常等于 CPU 核心数)。
  • events { worker_connections 1024; }:单个工作进程的最大连接数。
  • keepalive_timeout:长连接超时时间。
  • client_max_body_size:限制客户端请求体大小(如文件上传)。

四、性能优化要点

  1. 启用 Gzip 压缩:减少传输数据量。
  2. 调整缓冲区:避免频繁磁盘 I/O。
  3. 使用 HTTP/2:提升多请求并发效率。
  4. 限制并发连接:防止资源耗尽(如 limit_conn 模块)。

五、常见应用场景

  1. Web 服务器(替代 Apache)
  2. API 网关
  3. CDN 边缘节点
  4. 微服务入口(Kubernetes Ingress)
  5. 安全防护层(如限制 DDoS 攻击)

相关文章:

  • 案例解析:基于量子计算的分子对接-QDOCK(Quantum Docking)
  • 告别碎片化!两大先进分块技术如何提升RAG的语义连贯性?
  • ImageDataGenerator ()用法简介
  • 排序算法详解笔记(二)
  • 测试——BUG篇
  • C++算法(17):reverse函数用法详解,头文件<algorithm>与实战示例
  • Linux基础篇、第一章_01_2安装虚拟机手动安装Rocky Linux 9.5
  • CentOS一键安装MySQL5.7(源码安装)
  • PHP代码-服务器下载文件页面编写
  • tarjan缩点+强联通分量
  • 数据库day-08
  • 医药生产的“神助攻”:疆鸿智能JH-ECT012,EtherCAT转CC LINK IE超靠谱
  • 如何有效保护iOS应用?分享一款实用的IPA混淆工具
  • Java高频面试之并发编程-10
  • 【无需安装额外软件,JavaScript脚本】B站批量取消关注
  • Consul安装部署(Windows环境)
  • 为什么要学习《易经》?
  • ESP32- 开发笔记- 软件开发 4 - GPIO 口
  • 学习基本宠物美容
  • 使用org.java_websocket库第三方库实现广播
  • 俄宣布停火三天,外交部:希望各方继续通过对话谈判解决危机
  • 外交部:印度香客赴中国西藏神山圣湖朝圣将于今年夏季恢复
  • 特朗普的百日执政支持率与他“一税解千愁”的世界观和方法论
  • 一季度全国城镇新增就业308万人
  • 暴涨96%!一季度“中国游中国购”持续升温,还有更多利好
  • 上海市委常委会传达学习总书记重要讲话精神,研究张江科学城建设等事项