zoukankan      html  css  js  c++  java
  • Nginx配置简单说明

    # 按照cpu的核数进行worker进程数的启动,通常是1C,1worker
    worker_processes auto;
    # 每个 worker 可用的句柄数
    worker_rlimit_nofile 65535;
    # 强制 CPU 亲和性, 在高并发情况下可以降低由于多核 CPU 的切换造成的寄存器等现场重建带来的性能损耗
    worker_cpu_affinity 00000001 00000010;

    events {
    # 多路复用的事件驱动模型, Linux2.6+
    use epoll;
    # 每个 worker 进程支持的最大连接数, 使用 `cat /proc/sys/fs/file-max` 获取系统最大句柄数
    worker_connections 102400;
    # worker 进程是否可以同时接受多个网络连接
    multi_accept on;
    }

    http {
    include mime.types;
    charset UTF-8;

    log_format main '$http_x_forwarded_for - [$time_local] "$request" $status $body_bytes_sent $request_time "$http_referer" "sc
    heme:[$scheme]" "$http_user_agent" $remote_addr "upstream:[$upstream_addr, $upstream_status, $upstream_response_time]"';

    access_log logs/access.log main;
    default_type application/octet-stream;

    # 读取客户端请求体时的缓冲区, 请求体超过缓冲区大小时, 请求体的全部或部分将被写入临时文件, 默认为两个内存页大小
    client_body_buffer_size 1024m;
    # 允许的客户端最大请求体大小, 0为不限制
    # 通过请求头中的 Content-Length 获取, 超过限定大小的请求将被返回 413
    # 上传大对象,需要设置较大值,如10240m
    client_max_body_size 0;


    # 对哪种浏览器禁用长连接
    keepalive_disable none;
    # 允许在一个长连接上最多可处理多少个请求
    keepalive_requests 10000;
    # 指定每个 TCP 连接最多可以保持多长时间, 默认 75秒, 0 为禁止长连接
    keepalive_timeout 65;

    server_tokens off;
    underscores_in_headers on;

    gzip on;
    gzip_vary on;
    # 当请求头中的 UserAgent 字段满足这个正则时,响应不会启用 GZip
    # 指令值 msie6 等价于 MSIE [4-6]\.,但性能更好一些
    gzip_disable "msie6";
    # 默认 Nginx 只会针对 HTTP/1.1 及以上的请求才会启用 GZip, 因为部分早期的 HTTP/1.0 客户端在处理 GZip 时有 Bug
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml applicati
    on/xml+rss text/javascript application/javascript;
    #gzip的压缩率,1-9,数字越大,压缩率越高,占用cpu也越高
    gzip_comp_level 3;

    # 提高 Nginx 静态资源托管效率
    # sendfile 是一个系统调用,直接在内核空间完成文件发送,不需要先 read 再 write,没有上下文切换开销
    sendfile on;
    # 禁用 Nagle 算法, 尽快发送数据, 某些情况下可以节约 200ms
    # Nagle 算法原理是:在发出去的数据还未被确认之前,新生成的小数据先存起来,凑满一个 MSS 或者等到收到确认后再发送
    # Nginx 只会针对处于 keep-alive 状态的 TCP 连接才会启用 tcp_nodelay
    tcp_nodelay on;
    # 数据包会累计到一定大小之后才会发送,减小了额外开销,提高网络效率, 需要开启 sendfile
    tcp_nopush on;

    # tcp_nodelay 和 tcp_nopush 可以同时开启, 最终效果是先填满包,再尽快发送

    server {
    server_name localhost;
    # 开启 reuseport, Nginx 会在指定的端口上监听多个 socket,每个 Worker 都能分到一个. 请求过来时,系统内核会自动通过不同的
    socket 分配给对应的 Worker, 提高了分发效率
    # backlog, 连接已建立、但还未被处理的请求队列大小, 队列满时将会拒绝连接 "Connection refused";
    # backlog 太大, 可能导致等待时间长, 出现 "Broken pipe"
    # backlog 太小, 可能导致 "502 Bad Gateway"

    }

  • 相关阅读:
    树形DP
    区间DP
    洛谷P1462 通往奥格瑞玛的道路
    缓存--Redis
    Flack--SQLAlchemy
    Flask--WTForms
    Flask框架
    通过反射,获取linkedHashMap的最后一个键值对。对map按照值进行排序。
    Comparable和Comparator的使用
    构造函数,构造代码块,静态函数的执行顺序
  • 原文地址:https://www.cnblogs.com/timeout/p/15697071.html
Copyright © 2011-2022 走看看