Nginx配置文件基本语法
1、指令和指令块
- 配置文件由指令与指令快构成
- 每条指令以;分号结尾,指令与参数间以空格符号分隔
- 指令后可以有多个参数,每个参数间用空格符号分隔
- 部分指令的参数支持正则表达式
- 指令块以{}大括号将多条指令组织在一起
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_min_length 1;
gzip_comp_level 2;
gzip_types text/plain text/css;
server { # server{...}是一个指令块
listen 5674;
server_name geek.nginx.test; # listen、server_name都是一个指令
location ~* \\.(gif|jpg|jpeg) $ { # 指令的参数支持正则表达式
alias static/;
autoindex on;
#set $limit_rate 1k;
access_log logs/access-5674.log main; # 多个参数,每个参数间用空格符号分隔
#index index.html index.htm;
}
}
}
2、include
include允许组合多个nginx配置文件以提升可维护性,比如
http {
include mime.types; # 组合conf目录下的mime.types配置文件
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
....
}
3、#和$
使用#符号添加注释,使用$符号取用框架或者Nginx自带的变量
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
...
server {
listen 5674;
server_name geek.nginx.test;
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s # $取得组件或者框架自带的指令
location ~* \\.(gif|jpg|jpeg) $ {
alias static/;
autoindex on;
access_log logs/access-5674.log main;
}
}
}
4、Nginx配置文件时间单位
缩写 | 单位 |
---|---|
ms | 毫秒数 |
s | 秒 |
m | 分钟 |
h | 小时 |
d | 天 |
w | 周 |
M | 月(30天) |
y | 年(365天) |