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;
}
三、学习资源推荐
- 官方文档:Nginx Documentation
- 实战工具:NginxWebUI(可视化配置工具,支持集群管理)
- 调试技巧:使用
curl -v
和nginx -T
快速定位配置问题。
通过以上内容,你可以快速掌握反向代理的核心原理及 Nginx 的实战配置技巧,轻松搭建高性能 Web 服务。