美文网首页
nginx 生产环境配置

nginx 生产环境配置

作者: anyangdp | 来源:发表于2020-05-11 17:17 被阅读0次
    user                              nobody nobody;   ## 指定运行用户和组
    worker_processes                  4;               ## 指定worker数量,建议此处auto
    worker_rlimit_nofile              51200;           ## 最大打开文件描述符
    
    error_log                         logs/error.log  notice;
    
    pid                               /var/run/nginx.pid;
    
    events {
      use                             epoll;            ## 使用epoll事件驱动模型
      worker_connections              51200;            ## 一个worker能处理的最大并发
    }
    
    http {
      server_tokens                   off;              ## 隐藏nginx版本
      include                         mime.types;       
    
      proxy_redirect                off;                ## 关闭代理重定向
      proxy_set_header              Host $host;         
      proxy_set_header              X-Real-IP $remote_addr;
      proxy_set_header              X-Forwarded-For $proxy_add_x_forwarded_for;
      client_max_body_size          20m;            ## 设置客户端请求body的最大允许大小
      client_body_buffer_size       256k;           ## 设置客户端请求body的缓冲区大小
      proxy_connect_timeout         90;             ## 与后端服务器连接的超时时长
      proxy_send_timeout            90;             ## 把请求发送给后端服务器的超时时长
      proxy_read_timeout            90;             ## 等待后端服务器发送响应报文的超时时长
      proxy_buffer_size             128k;           ## 从代理服务器接收的响应的第一部分缓冲区
      proxy_buffers                 4 64k;          ## 从代理服务器读取响应的缓冲区number和size
      proxy_busy_buffers_size       128k;           ## 限制size在响应尚未完全读取时可能忙于向客户端发送响应的缓冲区总数
      proxy_temp_file_write_size    128k;           ## 该指令设置缓冲临时文件的最大值
    
      default_type                    application/octet-stream;
      charset                         utf-8;        ## 字符集
      
      client_body_temp_path           /var/tmp/client_body_temp 1 2;  ## 请求body临时目录
      proxy_temp_path                 /var/tmp/proxy_temp 1 2;  ## 代理服务器接受数据临时目录
      fastcgi_temp_path               /var/tmp/fastcgi_temp 1 2; ## FastCGI服务器接收临时目录 
      uwsgi_temp_path                 /var/tmp/uwsgi_temp 1 2; ## uwsgi 服务器接收临时目录
      scgi_temp_path                  /var/tmp/scgi_temp 1 2; ##scgi服务器接收临时目录
    
      ignore_invalid_headers          on;       ## 开启控制忽略具有无效名称的标头字段
      server_names_hash_max_size      256;      ## 服务器名称哈希表的最大值
      server_names_hash_bucket_size   64;       ## 服务器名称哈希表存储bucket大小
      client_header_buffer_size       8k;       ## 设置缓冲区以读取客户端请求标头
      large_client_header_buffers     4 32k;    ## 设置缓冲区以读取客户端请求标头最大值number和size
      connection_pool_size            256;      ## 允许精确调整每个连接的内存分配
      request_pool_size               64k;      ## 允许精确调整每个请求的内存分配
    
      output_buffers                  2 128k;   ## 设置用于从磁盘读取响应的缓冲区number和size
      postpone_output                 1460;     ## 客户端数据的传输最小值,单位字节
    
      client_header_timeout           1m;       ## 定义读取客户端请求标头的超时时长
      client_body_timeout             3m;       ## 定义读取客户端请求主体的超时时长
      send_timeout                    3m;       ## 设置将响应传输到客户端的超时时长
    
    
      log_format main                 '$server_addr $remote_addr [$time_local] $msec+$connection '
                                      '"$request" $status $connection $request_time $body_bytes_sent "$http_referer" '
                                      '"$http_user_agent" "$http_x_forwarded_for"';
    
      open_log_file_cache               max=1000 inactive=20s min_uses=1 valid=1m;
    
      access_log                      logs/access.log      main;
      log_not_found                   on;
    
    
      sendfile                        on;           
      tcp_nodelay                     on;       ## 启用长连接马上响应,提高性能
      tcp_nopush                      off;      ## 关闭套接字选项
    
      reset_timedout_connection       on;       ## 启用重置超时连接
      keepalive_timeout               10 5;     ## 第一个参数设置长连接超时时长,第二个浏览器识别为keep-alive:timeout=5
      keepalive_requests              100;      ## 设置可通过一个保持活动连接提供的最大请求数
    
    
      gzip                            on;       ## 开启压缩
      gzip_http_version               1.1;      ## 启用压缩时协议最小版本
      gzip_vary                       on;        
      gzip_proxied                    any;      ## 为所有代理请求启用压缩
      gzip_min_length                 1024;     ## 设置将被gzip压缩的响应的最小长度
      gzip_comp_level                 6;        ## 设置压缩等级
      gzip_buffers                    16 8k;    ## 设置用于压缩响应的缓冲区number和size
      gzip_proxied                    expired no-cache no-store private auth no_last_modified no_etag;
      gzip_types                      text/plain application/x-javascript text/css application/xml application/json;
      gzip_disable                    "MSIE [1-6]\.(?!.*SV1)";
    
    
      upstream tomcat8080 {
        ip_hash;
    
        server                        172.16.100.103:8080 weight=1 max_fails=2;
        server                        172.16.100.104:8080 weight=1 max_fails=2;
        server                        172.16.100.105:8080 weight=1 max_fails=2;
      }
    
      server {
        listen                        80;
        server_name                   www.chan.com;
        # config_apps_begin
        root                          /data/webapps/htdocs;
        access_log                    /var/logs/webapp.access.log     main;
        error_log                     /var/logs/webapp.error.log      notice;
    
        location / {
        
          location ~* ^.*/favicon.ico$ {
            root                      /data/webapps;
            expires                   180d;     ## 缓存180天
            break;
          }
        
          if ( !-f $request_filename ) {
            proxy_pass                http://tomcat8080;
            break;
          }
        }
    
        error_page                    500 502 503 504  /50x.html;
          location = /50x.html {
          root                        html;
        }
      }
    
      server {
        listen                        8088;
        server_name                   nginx_status;
    
          location / {
              access_log                  off;
              deny                        all;
              return                      503;
          }
    
          location /status {
              stub_status                 on;
              access_log                  off;
              allow                       127.0.0.1;
              allow                       172.16.100.71;
              deny                        all;
          }
      }
    
    }
    
    

    转载https://blog.csdn.net/ccschan/article/details/88095448#Nginx_0

    相关文章

      网友评论

          本文标题:nginx 生产环境配置

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