zoukankan      html  css  js  c++  java
  • Nginx之生产环境配置案例

    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;
          }
      }
    
    }
  • 相关阅读:
    微软免费人工智能课程
    如何定义,创建,启动一个线程
    什么是进程,什么是线程?
    Hashtable 数据遍历的几种方式
    action中result没有值
    <global-results>怎么用
    普通请求和ajax请求的区别
    result默认返回action中的所有数据,要想返回指定的数据怎么做呢
    ajax技术的应用?
    什么是国际化
  • 原文地址:https://www.cnblogs.com/augusite/p/15556591.html
Copyright © 2011-2022 走看看