1. 反向代理
1.1 nginx 的正向代理
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。就像要访问google用vpn代理翻墙去访问(用户知道要访问真正的服务器)
1.2 nginx 的反向代理
反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。(用户不知道要访问真正的服务器。
正向代理代理客户端,反向代理代理服务器。
nginx 如何实现反向代理
1.3 准备工作: 把一个 springboot项目--部署运行起来
(1)安装jdk 、tomcat 、连接的数据所在的服务器必须允许远程访问
linux中必须关闭防火墙
(2) 修改nginx的配置文件--代理springboot服务器
(3) 客户访问nginx--哪些真实服务器的资源
2. 负载均衡
nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交给多台服务器处理,进而提高系统的吞吐率;另外如果其中某一台服务器挂掉,其他服务器还可以正常提供服务,以此来提高系统的可伸缩性与可靠性。
图 示:
2.1 运行 案例
(1)222 和223 端口同时启动tomcat 服务器
(2)修改nginx集群的相关 配置
(3) 进 行 访 问
默认的负载均衡策略: 轮询策略。 在真实开发时可能服务的配置不同,服务器配置高的并发能力强,配置低的并发能力弱。 在负载均衡时,让请求多请求配置高的服务器。我们可以修改负载均衡的策略---权重。
3. 动静分离
动静分离主要是通过nginx+PHP-FPM来实现,其中nginx处理图片,html等静态的文件,PHP处理动态程序。
动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。
简单点来说,就是用户在请求的时候,如果只是简单的访问图片,html等静态的请求时,nginx直接返回,如果是发送动态请求时候,需要程序进行就由nginx把请求发送给程序,进行动态处理。
(1)进行项目启动---linux
(2) 配置nginx----配置文件
(3)在nginx安装目录下放置static目录以及内容
(4) 访问
4. nginx的高可用
nginx的高可用简单来说就是配置了两台(或更多)的nginx服务器,当主服务器宕机时,就会自动切换到备用服务器,从而保证项目的持续运行。
4.1 开始准备工作
准备: 222和223 的 nginx服务器
(1)222 和 223 安装keepalived
yum install -y keepalived
(2)修改keepalived.conf的配置内容
(4)创建nginx检测脚本
(5)166和167都开启nginx和keepalived
systemctl start keepalived.service
/usr/nginx/sbin/nginx
(6)测试