目录
把项目所需要的静态资源放在nginx下的static中编辑
1.ngnix的配置文件的介绍
进入编辑nginx.conf
vi nginx.conf
自定义了server
创建一个目录main 并在该目录下创建一个main.html
注意: 你修改了nginx配置文件,必须重新加载配置文件
./nginx -s reload
一个nginx可以对应多个server
测试
2.nginx的核心功能
2.1.反向代理
正向代理:代理的是客户端,对应服务器而言不知道真实的客户信息。---比如翻墙软件
拿借钱打个比方,A想向C借钱,但是C不认识A所以不借给他,然后A就通过B向C借钱,B借到钱之后再转交给A,在这个过程中B就扮演了一个正向代理的角色,这个过程中,真正借钱的人是谁,C是不知道的~
我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求.反向代理:代理的是服务器端,对应的客户端不知道真实的服务器的信息
还用借钱的例子,A想向C借钱,然后C借给他了,但是实际上这个钱可能C向B借的~至于钱到底是谁的,A是不知道的~
这里的C扮演着一个反向代理的角色,客户不知道真正提供服务的人是谁。
反向代理隐藏了真实的服务端,对于客户来说不知道访问的是哪台服务器。
可以使用nginx反向代理客户端访问虚拟ip对应的是真实服务器信息 提高服务器的安全性
2.2.nginx如何实现反向代理
1. 准备springboot项目jar包
2.拖到linux中
3.运行springboot项目
java -jar springboot_Linux-0.0.1-SNAPSHOT.jar
4.修改nginx配置文件
5.重新加载nginx
sbin/nginx -s reload
6.测试
2.3.负载均衡
1.什么是负载均衡
负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。
2.主要作用
- 高并发:负载均衡通过算法调整负载,尽力均匀的分配应用集群中各节点的工作量,以此提高应用集群的并发处理能力(吞吐量)
- 伸缩性:添加或减少服务器数量,然后由负载均衡进行分发控制。这使得应用集群具备伸缩性
- 高可用:负载均衡器可以监控候选服务器,当服务器不可用时,自动跳过,将请求分发给可用的服务器。这使得应用集群具备高可用的特性
- 安全防护:有些负载均衡软件或硬件提供了安全性功能,如:黑白名单处理、防火墙,防 DDos 攻击等
配合反向代理+负载均衡
根据上面安装反向代理一样准备两台真实服务器 ip(129/131)
准备两个springboot项目jar包(参考:两台服务器各放一个)
运行项目: java -jar 项目名称
3.修改配置
在ip129中修改
4. 重启nginx
nginx -s reload
5.测试
默认使用轮询策略
6.还有哪些负载均衡策略?
(1).权重策略:
----合适服务器的配置不同,被访问的频率不同。
(2).ip_hash:
----根据客户端的ip分配相应真实服务器。
(3).使用第三方插件:
----大多数付费。
2.4.动静分离
- 把静态资源【css,js,img】交于nginx来处理,而动态资源[接口,jsp]还是有真实服务器处理
- 好处: 当修改静态资源时,无需对每个真实服务器的静态资源做修改,只需要修改nginx一处的静态资源。
例:
1.建一个springboot项目
2. 添加配置文件
3.编写前后端
4.修改nginx.conf配置
把项目所需要的静态资源放在nginx下的static中
5.测试
案例总结:
以上案例就完成了动静分离,当修改静态资源时,无需对每个真实服务器的静态资源做修改,只需要修改nginx一处的静态资源。