zoukankan      html  css  js  c++  java
  • Nginx配置通用语法

                                                                       Nginx配置通用语法
    Nginx的配置文件只是一个普通的文本文件,这里借用《深入理解Nginx模块开发与架构解析》上的例子记录Nginx配置的通用语法。
    user nobody; 
    worker_processes 8; 
    error_log varlog/nginx/error.log error; 
    #pid logs/nginx.pid; 
    events {
        use epoll;
        worker_connections 50000;
    }
    http {
        include mime.types;
        default_type application/octet-stream;
        log_format main '$remote_addr [$time_local] "$request" '
                                '$status $bytes_sent "$http_referer" '
                                '"$http_user_agent" "$http_x_forwarded_for"';
        access_log logs/access.log main buffer=32k;
        ...
    }                        
     
    1.块配置项
    块配置由一个块配置项名和一对大括号组成,如下:
    events {
        ...
    } 
    http {
        upstream backend {
            server 127.0.0.1:8080;
        }
        gzip on; 
        server {
              ...
            location /webstatic { 
                gzip off;
            } 
    }
     
    

     上述代码中的events、http、server、location、upstream等都是块配置项,块配置项后大括号中的就是这个配置项的配置。块配置项可以嵌套,内层的块配置会直接继承外层块的配置,如上述的server就继承了http的配置。但是当内层配置与外层配置冲突时,该块配置会采用哪种配置(这里不解释,在Nginx块内配置冲突一文中介绍)?

     
    2.配置项格式
    从上述中可以了解到,最基本的配置项语法格式就是配置项名+配置项值,配置项名与配置项值之间使用空格符来隔开,而且一个配置项可以对应多个值,最后在每一行配置的结尾都需要加上分号。
     
    3.注释
    不管是代码还是配置中,注释都是不能少的一部分,而nginx配置文件中的行注释与python一样,使用“#”符号可以注释掉这一行内容,如下。
    #pid logs/nginx.pid;
     
    4.配置项单位
    大部分的模块都遵从一些通用规定,如指定空间大小时不需要每次都定义到字节,指定时间是不需要到毫秒级。
    当指定空间大小的时候,可以使用K、M为单位。
    当指定时间时,可以使用ms、s、m、h、d、w、m、y为单位。如下:
    gzip_buffers 4 8k;
    client_max_body_size 64M;
    expires 10y;
    proxy_read_timeout 600;
    client_body_timeout 2m;
     
    5.配置中使用变量
    Nginx中有一些模块容许在配置项中使用变量,比如在日志记录部分,我们可以在变量前添加“$”符号,代表该值是一个变量。不过要特别注意的是这种变量只是少数模块支持,并不是通用的。
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                                     '$status $bytes_sent "$http_referer" '
                                     '"$http_user_agent" "$http_x_forwarded_for"';
    
     
     
     
  • 相关阅读:
    刷题62—生命游戏
    刷题61—有效括号的嵌套深度
    system.transfer.list深度解析
    recovery 升级界面顶部花屏问题分析
    recovery 升级过程LED灯闪烁
    recovery 差分升级包制作超时
    recovery 升级过程执行自定义shell命令
    recovery log直接输出到串口
    android recovery代码修改之原生建议
    android recovery 升级UI显示之资源文件
  • 原文地址:https://www.cnblogs.com/52why/p/13214668.html
Copyright © 2011-2022 走看看