1.简介
高性能的HTTP和反向代理的Web服务器,占内存少,并发能力强。
![](https://ywhao.bitworkshop.cn/wp-content/uploads/2022/03/F9A1CE46736739B630E7A886B13ABAC1-e1648034674362.jpg)
2.配置文件
![](https://ywhao.bitworkshop.cn/wp-content/uploads/2022/03/image-52.png)
结构
nginx.conf
├── 全局块
├── events
└── http
└── server
└── location
全局块 | 主要设置nginx服务器的整体配置命令,用户,worker process数,进程PID路径,日志路径等。 |
events块 | 每个work process支持的最大连接数 |
http块 | 代理、缓存和日志以及各种属性的值和第三方模块的配置 |
server块 | 地址定向、数据缓存和应答控制等 |
3.反向代理
指令规则
location [= | ~ | ~*| ^~] url{
}
= :用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
~ :用于表示url包含正则表达式,并且区分大小写。
~* :用于表示url包含正则表达式,并且不区分大小写。
^~ :用于不含正则表达式的url前,要求Nginx服务器找到标识url和请求字
符串匹配度最高的location后,立即使用此location处理请求,而不再使用 location
块中的正则url和请求字符串做匹配。
例:
#PROXY-START/
location ^~ /
{
# 代理6443端口
proxy_pass http://127.0.0.1:6443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_fileEZHQIxW9 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_fileEZHQIxW9 1;
expires 12h;
}
if ( $static_fileEZHQIxW9 = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
4.负载均衡
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
weight
weight 代表权重,默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。
ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
未完待续
Comments 5 条评论
催更?
@你滴东子哥 东子哥的博客Github登不上,回复(水)不了o(╥﹏╥)o
@你滴东子哥 嘿嘿,我也可以邮箱通知了
催更。。。
@i scream 好耶好耶(✪▽✪)