zoukankan      html  css  js  c++  java
  • nginx常用配置

    # nginx.conf

    user nginx;
    
    # 配置nginx worker进程个数
    worker_processes auto;
    
    # 配置日志存放路径
    #access_log  logs/access.log  warn;
    #error_log   logs/error.log  main;
    #pid logs/nginx.pid;
    
    # nginx事件处理模型优化
    events {
        worker_connections 65535; # 当个进程允许的客户端最大连接数
        use epoll;
        }
    
    # 配置nginx worker进程最大打开文件数
    worker_rlimit_nofile 65535;
    
    http {
        
        # 隐藏版本号
        server_tokens off;
        
        # 设置日志格式
        log_format  main  '$http_x_forwarded_for - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" ';
    
        map $http_x_forwarded_for  $clientRealIp {
                ""      $remote_addr;
                        ~^(?P<firstAddr>[0-9.]+),?.*$  $firstAddr;
        }
        # 开启高效文件传输模式
        include mime.types;                         # 媒体类型
        default_type    application/octet-stream;   # 默认媒体类型
        charset  utf-8;                             # 默认字符集
        sendfile    on;
        tcp_nopush  on;                             # 只有在sendfile开启模式下有效
        
        # 设置连接超时时间
        keepalive_timeout  65;      # 设置客户端连接保持会话的超时时间,超过则服务器会关闭该连接
        tcp_nodelay on;             # 打开tcp_nodelay,在包含了keepalive参数才有效果
        #client_header_timeout 60s;    # 设置客户端请求有超时时间,该时间内客户端未发送数据,nginx将返回‘Request time out(408)’错误
        #client_body_timeout 60s;    # 设置客户端请求体超时时间,同上
        send_timeout 15;            # 设置相应客户端的超时时间,超时nginx将会关闭连接
        
        # 上传文件大小设置(动态引用)
        client_max_body_size 2m;
        
        # 数据包头部缓存大小
        client_header_buffer_size    1k;        #默认请求包头信息的缓存    
        large_client_header_buffers  4 4k;      #大请求包头部信息的缓存个数与容量
       
        # 压缩处理
        gzip on;                           #开启压缩
        gzip_min_length 1k;              #小文件不压缩
        gzip_comp_level 4;                 #压缩比率
        gzip_buffers 4 16k;                #压缩缓冲区大小,申请4个单位为16K的内存作为亚索结果流缓存    
        #对特定文件压缩,类型参考mime.types
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary on;
        gzip_disable "MSIE[1-6]."; 
        
    
       # 引入子配置文件     
       include vhost/*.conf;
       include proxy.conf;
    }

    # proxy.conf

    proxy_connect_timeout 300s;
    proxy_send_timeout 900s;
    proxy_read_timeout 900s;
    proxy_next_upstream off;
    proxy_buffer_size 32k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_redirect off;
    proxy_hide_header Vary;
    proxy_set_header Accept-Encoding '';
    proxy_set_header Referer $http_referer;
    proxy_set_header Cookie $http_cookie;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";

    # ssl配置

    upstream backend1 {
        server ip:port max_fails=3 fail_timeout=15s;
        server ip:port max_fails=3 fail_timeout=15s;
    }
    upstream backend2 {
        server ip:port max_fails=3 fail_timeout=15s;
        server ip:port max_fails=3 fail_timeout=15s;
    }
    
    server {
        listen 80;
        server_name domain ;
        index index.html;
        access_log   '/data/apps/nginx/logs/access.log' main;
    
        location / {
           root html/front;
           index index.html;
           try_files $uri $uri/ /index.html;
        }
    
        location  ^~ /path1/ {
            proxy_pass http://backend1/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect default;
        }
    
        location  /path2/ {
            proxy_pass http://backend2/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect default;
    
        }
    }
    
    server {
        listen 443 ssl;
        server_name domain;
        ssl_certificate      cert/domain.crt;
        ssl_certificate_key  cert/domain.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
       access_log   'logs/domain_access.log' main;   
        location / {
            root html/front;
            index index.html;
            try_files $uri $uri/ /index.html;
        }
    
        location  ^~ /path1/ {
            proxy_pass http://backend1/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect default;
        }
    
        location  /path2/ {
            proxy_pass http://backend2/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect default;
    
        }
    }

    server {
    
      listen 80;
    
      server_name domain.com ;
      error_page 403 404 405 500 502 504 =200 /home/index.json;
      location / {
               root /home;
               index  index.json;
               try_files $uri $uri/ /index.json?s=$uri&$args;
      }
    
    
      location = /home/index.json {
         default_type 'application/json';
         set $ret_body '{
            "code": "4009",
            "data": "<p>系统出问题了,进入维护状态</p>",
            "msg":"系统出问题了,进入维护状态"
           }';
         if ( $arg_callback != "" )
         {
           return 200 'try{$arg_callback($ret_body)}catch(e){}';
         }
         return 200 $ret_body;
    
         }
    
    }
  • 相关阅读:
    DataAnnotations
    使用BizTalk实现RosettaNet B2B So Easy
    biztalk rosettanet 自定义 pip code
    Debatching(Splitting) XML Message in Orchestration using DefaultPipeline
    Modifying namespace in XML document programmatically
    IIS各个版本中你需要知道的那些事儿
    关于IHttpModule的相关知识总结
    开发设计的一些思想总结
    《ASP.NET SignalR系列》第五课 在MVC中使用SignalR
    《ASP.NET SignalR系列》第四课 SignalR自托管(不用IIS)
  • 原文地址:https://www.cnblogs.com/ray-mmss/p/12077305.html
Copyright © 2011-2022 走看看