美文网首页
典型Nginx配置

典型Nginx配置

作者: 淡蓝色梦想 | 来源:发表于2018-11-18 11:13 被阅读0次
    #工作进程数:nginx是分为主进程和工作进程来处理请求的,此处定义的是工作进程数。
    worker_processes 1; 
    
    #events模块
    events {
      #主进程与工作进程之间是通过事件机制控制的
      #所以每个工作进程可以处理的连接数是在事件模块里配置的。
      worker_connections 1024;
    }
    
    #配置错误日志路径
    error_log logs/errors.log;
    
    #配置pid文件的存储路径,一般放置在logs文件夹中
    pid logs/nginx.pid
    
    #http模块
    http {
      #mime type 和 Content-Type 的对应关系
      include mime.types
    
      #设置默认的Content-Type
      default_type octet_stream;
    
      #http访问日志存放路径
      access_log logs/access.log;
    
      #设置keepalive长连接超时时间:指一个请求处理完成后可空转的时间
      #不是从请求开始计时的,是从请求完成计时的。
      keepalive_timeout 75;
    
      #指定是否使用系统内核的sendfile调用机制传送文件,据说效率高。
      sendfile on;
    
      #开启gzip传输
      gzip on;
    
      include server.d/*.conf;
    
      #配置反向代理的上游服务器
      upstream test {
        #设置多个上游服务器
        server x.x.x.x weight=5; #默认情况下通过轮询权重来控制请求转发
        server x.x.x.x weight=10;
        
        #也可以设置ip hash机制,针对单一请求ip转发到固定的server
        #ip_hash;
    
        #fair机制:按照后台的请求响应时间分配,响应时间短的优先分配。需要额外安装模块
        #fair;
    
        #url_has机制:特定的url转发到特定的server,有利于上游服务器缓存,这个也需要额外安装模块
        #url_hash;
      }
    
      #配置一个http server
      server {
        #服务监听的端口
        listen 80; 
        
        #服务名:实际类似一个虚拟服务器的概念,nginx会根据http请求中的host来匹配这个虚拟服务器的名称,这也是多域名匹配的原理。
        server_name localhost;
    
        include global.conf;
        include www.d/*.conf;
        include compitable.conf;
    
        #设置上游服务器的路径匹配
        location /test {
          #proxy_pass的格式是 protocal+domain+[端口]+[可选路径]
          #domain要特别说明,domain如果对应多个ip,可以用server_group,也就是upstream定义的多一个服务器了
          proxy_pass http://test;
    
          #nginx允许重设或增加头信息:默认有host和Connection
          proxy_set_header host $proxy_host; #如果不想让nginx修改该值,可以传入 $http_host,但是如果客户端没传入,则这个变量也是无效的,可以使用$host作为替代,这个变量在客户端有值的时候传入客户端的值,没有的时候传入server的host。
          proxy_set_header Connection close;
          proxy_set_header Accept-Encoding ""; 空字符串表示不传值到上游服务器
          #真实IP
          proxy_set_header X-Real-IP $remote_addr;
          #记录代理跳转的真实路径
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          
          client_max_body_size 10m;
          client_body_buffer_size 128k;     
        }
      }
    
    }
    
    

    相关文章

      网友评论

          本文标题:典型Nginx配置

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