nginx 服务优化及相关参数介绍

1.配置参数优化
  • 隐藏nginx header里版本号信息
    文档地址:http://nginx.org/en/docs/http/ngx_http_core_module.html
    使用curl查看隐藏前header里的web版本号信息

     curl -I 192.168.47.151
    

    在这里插入图片描述
    编辑nginx.conf配置文件增加参数隐藏版本号

    http{
      ...
      server_tokens off;
      ...
    }
    

    server_tokens:作用是控制http response header内的web服务版本信息显示,以及错误信息中web服务版本信息显示
    检查
    在这里插入图片描述

  • 更改nginx默认用户及用户组
    创建用户

    useradd nginx -s /sbin/nologin -M
    

    修改配置文件参数nginx.conf,头部加入 user nginx;
    在这里插入图片描述
    在这里插入图片描述

  • 配置nginx worker进程个数

    worker_processes  4;   <==根据服务器的硬件情况配置,初始为cpu的个数或核数
    
  • 调整nginx单个进程允许的客户端最大连接数

    events {
      worker_connections  1024;
    }
    

    nginx总并发连接数 = worker_processes * worker_connections

  • 配置nginx每个进程最大打开文件数

    workder_rlimit_nofile 65535;
    
  • 优化服务器名字的hash表大小

    http{
        server_names_hash_bucket_size 64;
    }
    
  • 开启高效文件传输模式

    http{
         sendfile on;
         tcp_nopush on;
    }
    
  • 设置连接超时时间

    http{
       keepalive_timeout  65;    <=设置客户端保持会话的超时时间,超过此时间,服务器会关闭该连接
       tcp_nodelay on;  <=打开tcp_nodelay ,包含了keepalive参数才有效
       client_header_timeout 15;  <=设置客户端请求头读取超时时间,如超过这个时间,客户端还没有发送任何数据,nginx将返回"Request timeout(408)错误"
       client_body_timeout 15;  <=设置客户端请求主体读取超时时间,如超过这个时间,客户端还没有发送任何数据,nginx将返回"Request timeout(408)错误,默认值:60"
       send_timeout 15;   <=指定响应客户端的超时时间,这个超时近限于两个连接活动之间的时间,如果超过这个时间。客户端无任何活动,nginx将会关闭连接
    }
    

    PHP网站建议短连接,JAVA网站建议长连接

  • 上传文件大小限制

    client_max_body_size 10m;
    
  • 配置nginx gzip压缩功能

    http{
      gzip on;  <=开启压缩功能
      gzip_min_length 1k;   <=设置允许压缩的页面最小字节数
      gzip_buffers 4 32k;   <=压缩缓冲区大小,表示申请4个单位为16K的内存作为压缩结果流缓冲
      gzip_http_version 1.1;   <=压缩版本
      gzip_comp_level 9;  <=压缩比率。用来指定GZIP压缩比,1:压缩比最小,处理速率最快;9:压缩比最大,传输速度快,但处理最慢,比较消耗CPU资源
      gzip_types text/plain text/css application/xml;  <=指定压缩的类型,"text/html类型总会被压缩"
      gzip_vary on;   <=vary header支持,该选项可以让前端的缓存服务器缓存经过GZIP压缩的页面
    }
    

    优点:
    1.节省带宽
    2.加快打开速度,提升用户体验
    缺点:
    1.消耗CPU、MEM

    查看压缩类型:

    less /application/nginx/conf/mime.types
    
  • 配置nginx expires缓存功能

     expires 30d;
    
2.更改源码软件名称及版本号
  • 1.修改nginx.h
    nginx-1.15.12/src/core/nginx.h
    
    在这里插入图片描述
  • 2.修改ngx_http_special_response.c
     nginx-1.15.12/src/http/ngx_http_special_response.c 
    
    在这里插入图片描述
  • 3.修改 ngx_http_header_filter_module.c
    nginx-1.15.12/src/http/ngx_http_header_filter_module.c 
    
    在这里插入图片描述
3.日志相关优化
  • 编写脚本实现nginx access日志轮询
    脚本:
    #!/bin/sh
    cd /application/nginx/logs
    /bin/mv access.log access_$(date +%F -d '-1day').log
    /application/nginx/sbin/nginx -s  reload
    
    加入定时任务:
    00 00 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1
    
  • 不记录不需要的访问日志
    access_log off;   <==关闭日志记录功能
    
  • 访问日志的权限设置
    chown -R root.root /application/nginx/logs
    chown -R 700 /application/nginx/logs     
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值