nginx配置解读

nginx.conf基本配置

##Start.

##Basic  基础配置
user  www www;     #运行用户
worker_processes 12;   #启动进程,通常设置成和cpu的数量相等
worker_cpu_affinity 000000000001 000000000010 000000000100 000000001000 000000010000 000000100000 000001000000 000010000000 000100000000 001000000000 010000000000 100000000000;
worker_rlimit_nofile 65535;  
error_log  var/logs/error.log; #错误日志
pid        var/logs/nginx.pid; #pid文件
 
#工作模式及连接数上限
events {
    
     use epoll;   
     #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能     
     worker_connections  65535;
     #单个后台worker process进程的最大并发链接数
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    server_tokens off;
    include       nginx.mime.types;     #设定mime类型,类型由nginx.mime.types文件定义
    default_type  application/octet-stream;

    sendfile on;

    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.


        map $http_x_forwarded_for $clientip {
                default $http_x_forwarded_for;
                ""      $remote_addr;
        }

        log_format  main  '$http_host $clientip ${request_time}s - [$time_local] '
                          '"$request" $status $body_bytes_sent '
                          '"$http_referer" - "SUP=$cookie_SUP" "REQUEST_ID=$request_uid" "$http_user_agent"';

    
    add_header DPOOL_HEADER venus237;
    keepalive_timeout  0;     #连接超时时间
 
    lingering_timeout 50ms;    #等待额外数据的时间
    #lingering_time            #处理总时间
    #lingering_close   
    # nginx的lingering_close用于在请求完成后,接收客户端发送的额外数据并全部忽略掉,防止因关闭连接时接收缓冲区中仍有数据而停止发送响应并返回RST,默认为on.

    
    #设定请求缓冲
    client_header_buffer_size 8k;
    client_max_body_size 8m;
    client_body_timeout 10s;
    client_header_timeout 5s;
    large_client_header_buffers 8 4k;
    server_names_hash_bucket_size 128;
    
    
    open_file_cache max=65535 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 3;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 4k;
        fastcgi_buffers 256 4k;
        fastcgi_busy_buffers_size 8k;
        fastcgi_max_temp_file_size 0;
        ##开启gzip压缩
        gzip on;
        gzip_flush_mode SYNC_FLUSH;
        gzip_min_length 1k;
        gzip_buffers 4 4k;
        gzip_http_version 1.1;
        gzip_comp_level 9;
        gzip_types text/plain text/css text/xml application/x-javascript application/json;
        gzip_vary on;

    include vhost/*.conf;   #加载server配置文件
}

这个文件只是基本配置,server配置、负载均衡等配置分别有自己的文件,使得配置文件比较易于管理,vhost下面放置了所有的server服务器配置,upstream下面放置负载均衡配置。

推荐 Nginx开发从入门到精通 http://tengine.taobao.org/book/

原文地址:https://www.cnblogs.com/gaoj87/p/3442980.html