ZBLOG

nginx

以下是关于 Nginx 的详细介绍,涵盖核心概念、常用配置及优化方向,适合后端开发学习:


1. Nginx 是什么?

  • 高性能 Web 服务器:轻量级、高并发(单机可支持数万并发连接),占用内存少。
  • 反向代理:隐藏真实服务器,实现负载均衡、缓存加速等。
  • 负载均衡器:支持轮询、加权轮询、IP Hash 等算法。
  • 其他功能:HTTP/2 支持、动静分离、SSL/TLS 终止等。

2. 核心配置示例

基础 HTTP 服务

server {
    listen 80;
    server_name example.com;

    location / {
        root /var/www/html;
        index index.html;
    }
}

反向代理配置

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;
    }
}

upstream backend_servers {
    server 192.168.1.10:8080 weight=3;  # 权重轮询
    server 192.168.1.11:8080;
}

负载均衡策略

  • round-robin(默认):轮询分发请求。
  • weight:权重分配。
  • ip_hash:同一客户端 IP 固定访问同一后端。
  • least_conn:优先发给连接数最少的后端。

3. Nginx vs Apache

特性 Nginx Apache
并发模型 事件驱动(异步) 多线程/多进程
内存占用 较高
静态文件 极快 一般
动态内容 需反向代理 原生支持(如 PHP)
配置灵活性 简洁 .htaccess 支持

4. Nginx调优方向

(1) Worker进程优化

worker_processes auto;     # CPU核心数
worker_connections 1024;   # 单个进程最大连接数
keepalive_timeout  65;     # Keep-Alive超时时间

(2) Gzip压缩

gzip on;
gzip_types text/plain application/json text/css;

(3)静态文件缓存

location ~* \.(jpg|css|js)$ {
    expires 30d;          #客户端缓存30天
}

(4)日志优化

access_log off;           #高并发时可关闭日志
error_log /var/log/nginx/error.log crit;

5.常见问题排查

  • 端口占用netstat -tulnp | grep nginx
  • 配置文件检查nginx -t -性能瓶颈分析:
    
    top -p $(pgrep nginx)      #查看CPU/内存占用
    ss -s                      #统计连接数
    

如果需要更具体的场景配置(如 HTTPS、WebSocket),可以进一步探讨!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23375

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?