zoukankan      html  css  js  c++  java
  • Nginx核心配置-可优化配置参数

                  Nginx核心配置-可优化配置参数

                                           作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.nginx的官网查看指令帮助信息方法

    1>.打开nginx的官网(https://nginx.org/),如下图所示,点击"documentation"

    2>.下拉菜单,如下图所示,选择"Alphabetical index of directives"

    3>.搜索你要查询的指令

    4>.查看你搜索指令的帮助信息,如下图所示,官方还提供了使用案例

    二.可优化配置参数

    1>.keepalive_disable

        对哪种浏览器禁用长连接,参考连接:https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_disable

    2>.limit_except

      限制客户端使用除了指定的请求方法之外的其它方法,参考连接:https://nginx.org/en/docs/http/ngx_http_core_module.html#limit_except

    3>.aio

      是否启用asynchronous file I/O(AIO)功能,需要编译开启
      linux 2.6以上内核提供以下几个系统调用来支持aio:
        1、SYS_io_setup:建立aio 的context
        2、SYS_io_submit: 提交I/O操作请求
        3、SYS_io_getevents:获取已完成的I/O事件
        4、SYS_io_cancel:取消I/O操作请求
        5、SYS_io_destroy:毁销aio的context
    
      参考连接:https://nginx.org/en/docs/http/ngx_http_core_module.html#aio

    4>.directio

      操作完全和aio相反,aio是读取文件而directio是写文件到磁盘,启用直接I/O,默认为关闭,当文件大于等于给定大小时,例如directio 4m,同步(直接)写磁盘,而非写缓存。
    
      参考链接:https://nginx.org/en/docs/http/ngx_http_core_module.html#directio

    5>.open_file_cache

    open_file_cache off; #是否缓存打开过的文件信息
    open_file_cache max=N [inactive=time];
    nginx可以缓存以下三种信息:
      (1) 文件元数据:文件的描述符、文件大小和最近一次的修改时间
      (2) 打开的目录结构
      (3) 没有找到的或者没有权限访问的文件的相关信息
      max=N:可缓存的缓存项上限数量;达到上限后会使用LRU(Least recently used,最近最少使用)算法实现管理
      inactive=time:缓存项的非活动时长,在此处指定的时长内未被命中的或命中的次数少于open_file_cache_min_uses指令所指定的次数的缓存项即为非活动项,将被删除
    
    参考链接:https://nginx.org/en/docs/http/ngx_http_core_module.html#open_file_cache

    6>.open_file_cache_errors

    open_file_cache_errors on | off;
      是否缓存查找时发生错误的文件一类的信息
      默认值为off
    
    参考链接:https://nginx.org/en/docs/http/ngx_http_core_module.html#open_file_cache_errors

    7>.open_file_cache_min_uses

    open_file_cache_min_uses number;
      open_file_cache指令的inactive参数指定的时长内,至少被命中此处指定的次数方可被归类为活动项
      默认值为1
    
    参考链接:https://nginx.org/en/docs/http/ngx_http_core_module.html#open_file_cache_min_uses

    8>.open_file_cache_valid

    缓存项有效性的检查验证频率,默认值为60s
    
    参考链接:https://nginx.org/en/docs/http/ngx_http_core_module.html#open_file_cache_valid

    三.nginx的主配置文件示例

    [root@node101.yinzhengjie.org.cn ~]# vim /yinzhengjie/softwares/nginx/conf/nginx.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/nginx/conf/nginx.conf
    worker_processes  4;
    worker_cpu_affinity 00000001 00000010 00000100 00001000; 
    
    events {
        worker_connections  100000;
        use epoll;
        accept_mutex on;
        multi_accept on; 
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        gzip  on;
        charset utf-8;
    
        #最大缓存10000个文件,非活动数据超时时长60s
        open_file_cache max=10000 inactive=60s;
        #每间隔60s检查一下缓存数据有效性
        open_file_cache_valid 60s;
        #60秒内至少被命中访问5次才被标记为活动数据
        open_file_cache_min_uses 5;
        #缓存错误信息
        open_file_cache_errors on;
    
        #隐藏Nginx server版本。
        server_tokens off;
    
        #当文件大于等于给定大小时,同步(直接)写磁盘,而非写缓存。
        directio 4m;
    
        #上传文件相关参数
        client_max_body_size 10m;
        client_body_buffer_size 16k;
        client_body_temp_path /yinzhengjie/data/web/nginx/temp 1 2 2;
       
    
        #IE系列的浏览器禁用长连接,默认就是禁用了IE的长连接功能.
        keepalive_disable msie6;
    
        #开启长连接后,返回客户端的会话保持时间为60s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置
    客户端将不显示超时时间。    keepalive_timeout  65 60;
    
        #在一次长连接上所允许请求的资源的最大数量
        keepalive_requests 3;
        
        #导入其他路径的配置文件
        include /yinzhengjie/softwares/nginx/conf.d/*.conf;
    }
    
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# nginx -t
    nginx: the configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /yinzhengjie/soft
  • 相关阅读:
    SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSAS 系列
    微软BI 之SSRS 系列
    微软BI 之SSRS 系列
    配置 SQL Server Email 发送以及 Job 的 Notification通知功能
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/12045381.html
Copyright © 2011-2022 走看看