nginx配置文件结构
一、#全局参数配置
二、#事件驱动
events {
}
三、#协议块 http服务相关设置
http {
#3、limit_req_zone`和`limit_req 流量限制
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
#limit_req_zone定义流量限制的相关参数 // 二进制客户端地址
#zone:存储每个ip地址状态和被限制请求url访问频率的内存共享区域,大小为10m
#rate:定义最大请求速率,10r/s (每100毫秒请求成功一次)
# limit_req zone=mylimit(名字) burst=20 nodelay;(将流量限制应用在特定的location或者server块)
#burst参数定义超出指定速率客户端还能发起的请求数并放入队列处理请求
#nodelay参数是为了解决burst会使站点处理请求看起来很慢的问题,添加该参数nginx会无延迟的处理第一个和队列中的请求。
#2、upstream配置(代理、负载均衡时可使用)
upstream 主机组名{
server ip:port;
server ip:port;
#upstream配置中写一组服务器地址
#在server块location下proxy_pass http://主机组名
}
#1、虚拟服务器的相关设置
server{
listen 80;
server_name _; #主机名、域名或ip
#(1)匹配块
location / { #/表示通用匹配无论uri所有内容都可匹配到
root /usr/share/nginx/html; #网站的根目录
index index.html; #默认打开的文档(也可以说网站默认首页)
#代理
#做代理时location模块下写proxy_pass 代理的URL
#代理端给真实服务端传递客户端ip proxy_set_header
#缓冲区 proxy_buffering
}
#(2)错误信息返回页面
error_page 404 403 /404.html
location = /404.html {
root /usr/share/nginx/html;
index 404.html; #遇到403 404错误时匹配/下的404.html文档
}
}
}