Nginx

豆 包deepseek的介绍

二、Nginx 全面解析与教程


1. Nginx 核心特性

  • 高性能:事件驱动的异步非阻塞架构,单机支持数万并发连接。
  • 低资源消耗:处理静态请求时内存占用仅为 Apache 的 1/10。
  • 模块化设计:支持动态加载模块(如 HTTP/2、Lua 脚本)。
  • 热部署:更新配置或升级版本无需重启服务。

2. Nginx 核心功能对比

功能 应用场景 配置示例
静态资源服务 托管 HTML/CSS/ 图片 root /var/www/html;
反向代理 转发请求到 Tomcat/PHP 后端 proxy_pass http://backend_server;
负载均衡 分配流量到多台应用服务器 upstream backend { server 192.168.1.1:8080; }
HTTP 缓存 缓存 API 响应加速访问 proxy_cache_path /data/cache keys_zone=my_cache:10m;

3. Nginx 安装与基础操作

  • Ubuntu 安装

    bash

    sudo apt update
    sudo apt install nginx
    sudo systemctl start nginx
    
  • 常用命令

    bash

    nginx -t            # 检查配置文件语法
    nginx -s reload     # 重载配置(不中断服务)
    nginx -s stop       # 立即停止服务
    

4. Nginx 配置实战示例

  • 静态网站托管

    nginx

    server {
      listen 80;
      server_name example.com;
      root /var/www/example;
      index index.html;
      
      # 开启Gzip压缩
      gzip on;
      gzip_types text/css application/javascript;
    }
    
  • 反向代理配置

    nginx

    upstream backend {
      server 10.0.0.1:8000 weight=3;  # 权重3
      server 10.0.0.2:8000;           # 默认权重1
    }
    
    server {
      listen 80;
      server_name api.example.com;
    
      location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
      }
    }
    

5. 高级配置技巧

  • SSL 证书配置

    nginx

    server {
      listen 443 ssl;
      ssl_certificate /etc/ssl/certs/example.crt;
      ssl_certificate_key /etc/ssl/private/example.key;
      # 强制HTTP跳转HTTPS
      if ($scheme != "https") {
        return 301 https://$host$request_uri;
      }
    }
    
  • 访问控制

    nginx

    location /admin {
      allow 192.168.1.0/24;  # 允许内网IP
      deny all;              # 拒绝其他IP
    }
    

6. 性能优化参数

nginx

worker_processes auto;        # 自动匹配CPU核心数
worker_connections 10240;     # 单进程最大连接数

http {
  keepalive_timeout 65;       # 长连接超时时间
  client_max_body_size 100M;  # 允许上传大文件

  # 缓存优化
  open_file_cache max=10000 inactive=30s;
  open_file_cache_valid 60s;
}

三、学习资源推荐

  1. 官方文档Nginx Documentation
  2. 实战工具:NginxWebUI(可视化配置工具,支持集群管理)
  3. 调试技巧:使用curl -vnginx -T快速定位配置问题。

通过以上内容,你可以快速掌握反向代理的核心原理及 Nginx 的实战配置技巧,轻松搭建高性能 Web 服务。