1nginx.conf文件
主要是对server的修改
2反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只
需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返
回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器
地址,隐藏了真实服务器IP地址。
反向代理:
1.反向代理服务器是配置在服务端的
2.客户端不知道访问的到底是哪一台服务器
3.达到负载均衡,并且可以隐藏服务器真正的ip地址
3 关于Nginx的location路径映射
优先级关系:
(location = ) > (location /xxx/yyy/zzz) > (location ^~) > (location
,*) > (location /起始路径) > (location /)
#访问http://192.168.199.109/index可以进入tomcat首页
#访问http://192.168.199.109/ssm 可以进入ssm项目首页
#访问http://192.168.199.109/可以进入Hello Nginx!!
80端口是默认网络端口,访问不需要加上80
4负载均衡
单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先
请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服
务器,也就是我们所说的负载均衡
4.1 轮询
例子:
upstream my_server{
server ncthz.top:8080;
server ncthz.top:8081;
}
server {
listen 80;
listen [::]:80;
server_name localhost;//即ncthz.top
location / {
proxy_pass http://my_server/; #tomcat首页
}
}
多次刷新ncthz.top页面,根据版本号我们可以发现我们进入的是不同的tomcat
4.2 权重
4.3 ip_hash
5 动静分离
Nginx的并发能力公式:
worker_processes * worker_connections / 4|2 = Nginx最终的并发能力
动态资源需要/4,静态资源需要/2
Nginx通过动静分离来提升Nginx的并发能力,更快的给用户响应(不需要访问服务器,增加速度)
6集群
单点故障,避免nginx的宕机,导致整个程序的崩溃
准备多台Nginx
准备keepalived,监听nginx的健康情况
准备haproxy,提供一个虚拟的路径,统一的去接收用户的请求
参考
1
https://blog.csdn.net/m0_49558851/article/details/107786372
2
https://nishigouzi.github.io/2020/06/07/Nginx%E7%AC%94%E8%AE%B0/#more
对应脑图
https://besterwin.gitee.io/blogs/knowledge/middle/Nginx.html
3
https://www.bookstack.cn/read/dunwu-nginx-tutorial/spilt.6.docs-nginx-configuration.md