Nginx

1. 是什么?​

  • 高性能:​ Web 服务器、反向代理、负载均衡器。
  • 事件驱动架构​:轻量级,支持高并发(如每秒数万请求)。
  • 开源免费​:广泛用于生产环境(如 Netflix、GitHub、WordPress)。

2. 核心功能

功能说明
静态服务快速托管 HTML、图片、视频等静态资源。
反向代理将请求转发到后端服务(如 Node.js、Java),隐藏真实服务器。
负载均衡分发流量到多个后端,避免单点过载(支持轮询、IP哈希等策略)。
SSL 终止集中处理 HTTPS 加密/解密,降低后端压力。
缓存加速缓存响应内容,减少重复计算或数据库查询。

3. 核心配置文件

默认路径:/etc/nginx/nginx.conf
结构示例:

events {
    worker_connections 1024;  # 每个工作进程的并发连接数
}

http {
    server {
        listen 80;
        server_name example.com;
        
        location / {
            root /var/www/html;  # 静态文件目录
        }

        location /api {
            proxy_pass http://localhost:3000;  # 反向代理到本地Node.js应用
        }
    }
}

4. 常用命令

# 启动
nginx

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

# 停止
nginx -s stop

# 检查配置语法
nginx -t

5. 典型应用场景

  • 静态网站​:直接托管 index.html 和静态资源。
  • API 网关​:将 /api 路径代理到后端微服务。
  • 负载均衡​:在多个服务器间分配流量:
​upstream backend {
    server 192.168.1.1:8000 weight=3;  # 权重3
    server 192.168.1.2:8000;           # 权重1
}

server {
    location / {
        proxy_pass http://backend;
    }
}

6. 性能优化技巧

​# 启用 Gzip 压缩​:减少传输体积。
gzip on;
gzip_types text/css application/json;

# 缓存静态文件​:降低磁盘 I/O。
location ~* \.(jpg|css|js)$ {
    expires 30d;
}

# 限制并发​:防止资源耗尽。
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

7. 日志分析

​# 访问日志​:记录客户端请求(路径、IP、状态码等)
access_log /var/log/nginx/access.log;

# 错误日志​:排查问题
error_log /var/log/nginx/error.log warn

8. 安全建议

​# 禁用 Server 头​:避免暴露版本信息
server_tokens off;

# 限制 HTTP 方法​:只允许 GET/POST
if ($request_method !~ ^(GET|POST)$ ) {
    return 405;
}

​9.总结

Nginx 以简洁、高效著称,适合作为 Web 服务的入口层。掌握其配置和优化技巧,能显著提升系统性能和可靠性。遇到问题时,可通过 nginx -t 检查配置,或查阅日志快速定位原因。

评论

  1. 8 月前
    2025-6-28 13:47:05

    学习了!谢谢

  2. 8 月前
    2025-7-14 15:33:31

    很好的文章!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇