Nginx配置通用语法

Posted 极速快码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"‘;

 

 
 
 

以上是关于Nginx配置通用语法的主要内容,如果未能解决你的问题,请参考以下文章

Nginx配置通用语法

转载:2.2 Nginx配置的通用语法《深入理解Nginx》(陶辉)

Nginx配置文件的通用语法介绍

Nginx教程 Location配置与ReWrite语法

Eclipse 中的通用代码片段或模板

前端必备 Nginx 配置