zoukankan      html  css  js  c++  java
  • NGINX学习(二)--nginx配置文件详解

    #定义nginx的用户和用户组
    #user  zhyyt zhyyt;
    
    #nginx进程数,建议设置为cpu总核心数,该配置决定工作进程(worker process)的数量
    worker_processes  12;
    
    #全局日志位置和日志级别定义,[debug | info | notice | warn | error | crit]
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #进程文件,查看进程号
    #pid        logs/nginx.pid;
    
    #一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求不均匀,所以建议与ulimit-n的值保持一致。
    worker_rlimit_nofile 65535;
    
    #工作模式与一个nginx的链接上限
    events {
        #参考时间模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
        use epoll;
    
        #单个进程最大连接数,可以设置的大点,十万级。(整个nginx最大连接数=worker_connetions*worker_processes)
        worker_connections  65535;
    }
    
    
    #设定http服务器,处理http请求
    http {
    
        #文件扩展名与文件类型映射表,将文件后缀类型映射为浏览器能识别的数据类型,放在response的content-Type中,浏览器根据此类型决定以何种方式显示此数据
        include       mime.types;
    
        default_type  application/octet-stream;  #默认文件类型
        charset utf-8;  #默认文件编码
        server_names_hash_bucket_size 128; #服务器名字的hash表大小
        client_header_buffer_size 32k; #上传文件大小限制
        large_client_header_buffers 4 64k; #设定请求缓
        client_max_body_size 8m; #设定请求缓
        sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处>理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
        autoindex on; #开启目录列表访问,适合下载服务器,默认关闭。
        tcp_nopush on; #防止网络阻塞
        tcp_nodelay on; #防止网络阻塞
        keepalive_timeout 120; #长连接超时时间,单位是秒
    
        gzip on; #开启gzip压缩输出,gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。
        gzip_min_length 1k; #最小压缩文件大小,低于1kb的资源不压缩
        gzip_buffers 4 16k; #压缩缓冲区
        gzip_http_version 1.1; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
        gzip_comp_level 3; #压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
        gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;  #压缩类型,需要压缩哪些响应类型的资源,多个空格隔开。默认就已经包含text/html,不建议压缩图片,压缩图片效果不明显且耗费cpu资源,且不建议压缩大文件,消耗巨大cpu资源
        gzip_disable "MSIE [1-6].";  #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
        gzip_vary on;     #是否添加“Vary: Accept-Encoding”响应头
    
        #access_log  logs/access.log  main;  #日志文件位置
    
        #upstream配置负载均衡,负载均衡有多种策略,ip_hash、轮询、权重等
        upstream zhyytUpstream{
            ip_hash;
            server 127.0.0.1:9090;
            server 127.0.0.1:9092
        }
    
        #虚拟服务的配置
        server {
            listen       80;   #监听的本机端口
            server_name  www.haha.com www.zhyyt.com;  #域名配置,域名可以有多个,用空格隔开
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
    
            #配置匹配的请求路径以及跳转的地址
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            #匹配/zhyyt/路径
            location /zhyyt/ {
              proxy_pass http://zhyytUpstream;  #转发的地址
              proxy_set_header Host $host:$server_port;   #设置转发的请求头
            }
    
            # redirect server error pages to the static page /50x.html
            error_page   500 502 503 504  /50x.html;    #错误的跳转页面
            location = /50x.html {
                root   html;
            }
        }
    }
    
    #stream配置,用来处理tcp/udp协议层请求,例如socket请求 
    stream{
        #upstream负载
        upstream CSS{
            server 172.19.72.120:19877 max_fails=3 fail_timeout=70s;
            server 172.19.72.120:19878 max_fails=3 fail_timeout=70s;
        }
    
        #stream服务配置
        server {
            listen 19877 udp;  #监听的端口,udp协议
            proxy_connect_timeout 1s;   #链接超时时间
            proxy_timeout 120s;    #请求超时时间
            proxy_pass CSS;        #转发的地址
        }
    }
    个人理解,如有错误,欢迎指正!
  • 相关阅读:
    174. Dungeon Game
    240. Search a 2D Matrix II
    300. Longest Increasing Subsequence
    test markdown style
    多源多汇费用流——poj2516
    费用流消圈算法(构造残量网络)
    费用流模板(带权二分图匹配)——hdu1533
    最大流模板——进阶指南整理
    最大流任务调度+离散化——hdu2883
    最大流拆点——hdu2732,poj3436
  • 原文地址:https://www.cnblogs.com/gllegolas/p/11715088.html
Copyright © 2011-2022 走看看