nginx配置说明

作者: sany_1126 | 来源:发表于2019-03-07 08:57 被阅读0次

    1.性能优化相关配置

    1.work_process  number | auto 

    worker进程的数量;通常应该为当前主机的cpu核数

    2.worker_cpu_affinity 【cpu mask】  提高缓存命中率

    cpu mask :  00000001 : 0号cpu

                          00000010 : 1号cpu

                          1000000  : 8号cpu

    worker_cpu_affinity   0001  0100

    3.worker_priority number   worker进程的优先级

    Syntax:worker_priority number;

    Default:worker_priority 0;

    Context:main

    定义工作进程的调度优先级,就像使用nice命令一样:负数表示更高的优先级。 允许范围通常在-20到20之间变化。

    4.worker_rlimit_nofile

    worker进程所能打开的文件数量上限 如65535   支持并发连接数

    5. events

    events {

        #worker_connections  1024;

    }

    worker_connections    设置工作进程可以打开的最大并发连接数   work_process * worker_connections  = 最大并发数

    use method 

    指明并发连接连接请求的处理方法,默认自动选择最优方法

    use epoll;

    accept_mutex  on | off

    如果启用了accept_mutex,则工作进程将依次接受新连接。 否则,将通知所有工作进程有关新连接的信息,如果新连接的数量很少,则某些工作进程可能只会浪费系统资源。(一般情况下打开即可,off情况下可能突然唤醒所有work造成惊群)

    调试定位选项

    1.daemon 

    Syntax:daemon on | off;

    Default:daemon on;

    Context:main

    是否以守护进程方式运行nginx

    2.master_process  

    Syntax:master_process on | off;

    Default:master_process on;

    Context:main

    是否以 master / worker 运行进程 默认为master 启动后没有worker进程

    3.error_log

    Syntax:error_log file [level];

    Default:error_log logs/error.log error;

    Context:main, http, mail, stream, server, location

    http 模块 ngx_http_core_module

    http {

        server {

         1.   listen address  [:port] [default_server] ;  监听端口路径

         2.   server_name  www.baidu.com;  网站名称

         3.   root /PATH/; 根目录

        }

    }

     4. tcp_nodelay

    Syntax:tcp_nodelay on | off;

    Default:

    tcp_nodelay on;

    Context:http, server, location

    在keepalived模式下的连接是否启用

    tcp_nodelay  当为off时,延时发送,合并多个请求后再发送

    默认为on 不延迟发送

    5.sendfile 

    是否启用sendfile ,内核中封装报文直接发送 默认为off

    普通read操作

    硬盘—>内核缓冲区—>用户缓冲区—>内核socket缓冲区—>协议引擎

    使用sendfile

    硬盘—>内核缓冲区—>内核socket缓冲区—>协议引擎

    默认为off

    6.server_tokens

    Syntax:server_tokens on | off | build | string;

    Default:server_tokens on;

    Context:http, server, location

    是否在响应的server 显示 nginx 版本

    7.alias

    目录别名 

    8.error_page 

    error_page 404 = 200 /404.html

    错误也页面返回到200  跳到404.html

    8.try_files

    location /images/ {

        try_files $uri /images/default.gif;

    }

    按顺序查询文件是否存在返回第一个找到的文件或者文件夹,如果所有文件或者文件夹找不到,会内部重定向到最后一个参数,最后一个参数是回退uri必须存在否则会出现内部500错误

    9.keepalive_timeout

    Syntax:keepalive_timeout timeout [header_timeout];

    Default:keepalive_timeout 75s;

    Context:http, server, location

    设置保存连接时长,0表示禁止长链接 ,默认为75秒

    10.keepalive_requests

    Syntax:keepalive_requests number;

    Default:keepalive_requests 100;

    Context:http, server, location

    This directive appeared in version 0.8.0.

    在一次长链接上所允许请求资源的最大数量 默认为100次

    11.keepalive_disable

    Syntax:keepalive_disable none | browser ...;

    Default:keepalive_disable msie6;

    Context:http, server, location

    对那种浏览器禁止长链接

    12.send_timeout

    Syntax:send_timeout time;

    Default:send_timeout 60s;

    Context:http, server, location

    向客户端发送响应报文超时时长此处指两次写操作之间的间隔时长,而非整个响应过程的传输时长

    13 limit_rate

    Syntax:limit_rate rate;

    Default:

    limit_rate 0;

    Context:http, server, location, if in location

    限制给客户端传输速率

    14 limit_except

    Syntax:limit_except method ... { ... }

    Default:—

    Context:location

    limit_except GET {

        allow 192.168.1.0/32;   //允许这个主机

        deny  all;   //其他不允许

    }

    15.aio

    Syntax:aio on | off | threads[=pool];

    Default:aio off;

    Context:http, server, location

    This directive appeared in version 0.8.11.

    异步IO

    16

    相关文章

      网友评论

        本文标题:nginx配置说明

        本文链接:https://www.haomeiwen.com/subject/alcxpqtx.html