• nginx 优化


    worker_processes 设置为CPU总核数量

    如8核;

    worker_processes 8;

    worker_cpu_affinity 多少个cpu多少个0

    如4个
    
    worker_cpu_affinity 0001 0010 0100 1000;
    
    8个
    
    worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

    worker_rlimit_nofile配置要和系统的单进程打开文件数一致

    ulimit -n 查看
    worker_rlimit_nofile 65536;

    events {

    #作为http时worker_processes*worker_connections

    #作为代理时worker_processes * worker_connections/4
    worker_connections  64;#worker工作进程并发处理(发起)的最大连接数(包含所有连接数)。

    ##语法 use [ kqueue | rtsig | epoll | /dev/poll |select | poll ];

    use epoll; # 使用epoll(linux2.6的高性能方式)
    }

    http{

     #文件扩展名与文件类型映射表

    include       mime.types

    #默认文件类型,普通的文件流,并提示用户下载文件

     default_type application/octet-stream;

    gzip on;              //开启gzip压缩功能

    gzip_min_length 1k; //这里表示如果文件小于1k,就不用压缩,因为没有意义,本来就很小

     # 设置压缩响应的缓冲块的大小和个数

    gzip_buffers 4 16k;

    #设置压缩响应所需的最小HTTP请求版本

     gzip_http_version 1.0;

    #可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源

     gzip_comp_level 3;

    #表示我在传送数据时,给客户端说明我使用了gzip压缩

     gzip_vary on;

    #除了“ text/html” 之外,还可以针对指定的MIME类型启用gzip的响应特殊值“ *”匹配任何MIME类型(0.8.29)。“ text/html”类型是默认压缩

     gzip_types text/plain text/css text/xml application/x-javascript application/xml application/atom-xml text/javascript;

    #隐藏nginx版本号

     server_tokens Off;

    #nginx作为代理服务器的时候,当被代理的一台服务器出现error的时候,直接将请求转给下一台服务器处理

    proxy_next_upstream error;

     #设置为on表示启动高效传输文件的模式

    sendfile        on;

    #参数设置保持活动客户端连接在服务器端保持打开状态的超时时间,保持连接的超时时间

    keepalive_timeout  60;

    #与FastCGI服务器建立连接的超时时间

    fastcgi_connect_timeout 600;

    #设置向FastCGI服务器发送请求的超时时间

    fastcgi_send_timeout 600;

    #设置从FastCGI服务器读取响应的超时时间

    fastcgi_read_timeout 600;

    #限制同一客户端ip地址带宽为100M;

    limit_conn_zone $binary_remote_addr zone=perip:100m;

    #限制同一server最大并发数

    limit_conn_zone $server_name zone=perserver:100m;

    #设置读取客户端请求标头的缓冲区大小

    client_header_buffer_size 32k;

    #设置用于读取大型客户端请求标头的最大值缓冲区

    large_client_header_buffers 4 32k;

    #设置缓存源服务器的静态文件

    proxy_temp_path /tmp;

    #如果省略此参数或将其设置为该值on,则将使proxy_temp_path指令为给定位置设置的目录

    #*levels设置目录层次

    #keys_zone设置缓存名字和共享内存大小

    #inactive在指定时间内没人访问则被删除在这里是1天

    #max_size最大缓存空间*

    proxy_cache_path  /dev/shm/cache  levels=1:2  keys_zone=cache_one:400m inactive=1d max_size=4g;

     #nginx使用请求的端口,而不是使用被代理端返回的端口,被代理的服务器返回的http里的header,加入了location告诉客户端跳转,这时候nginx收到返回的信息后,在location里加入了自己的端口号,在返回给客户端

    port_in_redirect on;

    #独立出不同网站不同配置文件

    include selfconf/*.conf;

     }

  • 相关阅读:
    iOS 网络编程:socket
    Zsh和Bash,究竟有何不同
    关于微软win10 2004的更新以及wsl2 Ubuntu18.04安装
    C# 委托事件机制 订阅发布
    关于Docker理念和安装,对Visual Studio2019自带生成的DockerFile配置,以及Docker镜像的发布与拉取
    div弹框
    vs分页
    ado显示下拉
    SQL server动态拼接存储过程分页
    退役
  • 原文地址:https://www.cnblogs.com/cainiaoit/p/8622815.html
Copyright © 2020-2023  润新知