nginx配置比较杂乱的总结
Posted me1onrind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置比较杂乱的总结相关的知识,希望对你有一定的参考价值。
常用变量
demo uri
www.example.com/mock/interface?param1=203¶m2=test
$args
uri中的参数值 ?后面的部分 param1=203¶m2=test
可以通过
if ($args != '')
判断参数值是否为空
$uri
域名后面部分不带参数 /mock/interface
$1 $2 … ...
任何正常匹配表达式都会更新这些值...
$host $http_host
$host www.example.com
$http_host 可能带端口号
$remote_addr
本机ip
$proxy_add_x_forwarded_for
增加上自己IP的 x_forwared_for
location支持的匹配规则(按优先级排序)
精确匹配 =
location = /mock … … 无法匹配 /mock/interface
只有 location = /mock/interface 才能匹配
前缀匹配 (同级 按最大匹配原则)^~
location ^~ /mock
location ^~/mock/interface 都能匹配到 但是后者生效
按文件顺序匹配 ~
就是简单的正则匹配 但是同级之间 无最大匹配原则
location ~ ^/mock
location ~ interface 都能匹配 具体匹配哪一个就看在conf文件里的位置
不带任何修饰符的前缀匹配
location /mock/ 之类
location / 通用匹配
rewrite
重写uri rewrite之后 $uri的值会跟着修改
last 相当于重新发起一次请求 匹配所有的location
break马上只匹配 之前存在的location (如果在location内 则不包括自己)
redirect 302
permanent 301 直接让客户端重新返回
反向代理常用配置
location / {
proxy_pass http://upstream_name; # 也可以是具体的ip/域名
proxy_set_header Host $host; # 设置发送到真正服务时http请求的host
proxy_set_header X-Real-IP $remote_addr; # 设置真正的请求IP 但是似乎不是标准
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 在http请求打上代理机器的ip
proxy_connect_timeout 30s; # 后端服务器连接超时时间
proxy_send_timeout 30s; # 代理发送超时时间
proxy_read_timeout 30s; # 代理接收超时时间
proxy_redirect off; # 对后端服务器重定向 host改写关闭 可配
client_max_body_size 10m; # 允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; # 缓冲区代理缓冲用户端请求的最大字节数
proxy_buffer_size 4k; # nginx保存响应header的缓冲区大小
proxy_buffers 4 32k; # 缓存区个数 和 大小
proxy_busy_buffers_size 64k; # 高负荷时专门向客户端发送数据的缓冲区大小,来自于以上两块缓冲区,一般建议proxy_buffers*2
proxy_temp_file_write_size 64k; # 设定缓存文件夹大小,大于这个值,将从upstream服务器直接传到客户端
}
以上是关于nginx配置比较杂乱的总结的主要内容,如果未能解决你的问题,请参考以下文章
Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段