带你了解Linux中的【Nignx及负载均衡&动静分离】

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 带你了解Linux中的【Nignx及负载均衡&动静分离】

一.nginx介绍

1.什么是nginx?

Nginx是一个高性能、开源的Web服务器、反向代理服务器和负载均衡器。它最初由Igor Sysoev编写,于2004年首次发布,并在其后的几年中获得了广泛的应用和快速发展。现在,Nginx已经成为许多大型网站和应用程序的常用Web服务器和代理服务器。

Nginx采用事件驱动、异步非阻塞的架构,可以处理大量的并发连接和请求,并能够有效地分配和管理系统资源。此外,它具有灵活的配置选项,可以通过简单的修改配置文件来实现各种功能,如反向代理、负载均衡、HTTPS等

Nginx的另一个显著特点是其高度的可扩展性和模块化。它支持各种各样的第三方模块,包括安全模块、缓存模块、日志模块等,使得开发者可以根据自己的需求进行灵活的定制和扩展。

总体来说,Nginx是一个优秀的、高性能的Web服务器和代理服务器,适用于处理大量并发请求、实现高可用性、高性能的应用程序。

2.nginx的应用场景

Nginx在各种应用场景下都有广泛的应用,以下是一些常见的应用场景:

  1. Web服务器:Nginx可以作为一个高性能的Web服务器来提供静态文件的服务。通过配置Nginx,可以轻松地处理大量的并发请求,同时具备较低的内存和CPU消耗。
  2. 反向代理服务器:Nginx作为反向代理服务器可以将请求转发到后端的多个服务器上,实现负载均衡和高可用性。这对于处理大规模的流量和提高应用程序的性能非常有帮助。
  3. 负载均衡器:Nginx作为负载均衡器可以将请求分发到多个后端服务器上,根据预先定义的算法进行请求的路由。这样可以提高系统的可扩展性、稳定性和性能。
  4. 缓存服务器:Nginx可以作为缓存服务器,缓存静态资源或动态内容,从而减轻后端服务器的负担,提高响应速度和用户体验。
  5. HTTPS和SSL/TLS终端:Nginx支持HTTPS协议,可以作为SSL/TLS终端来处理加密通信。它可以处理证书管理、安全协议配置等,提供安全的通信环境。
  6. WebSocket代理:Nginx可以代理WebSocket连接,使得后端应用程序可以与前端进行实时双向通信。

需要注意的是,Nginx的应用场景非常丰富,可以根据具体的需求和架构进行灵活配置和使用。以上列举的只是一些常见的应用场景,实际上还有更多的用途和扩展性可供挖掘。

3.作用示意图

总结来说就是多个服务器代理一个请求ip

使用nginx好处:

1.有利于项目的稳定

2.降低服务器压力,高效响应用户请求,提高用户体验

4.动静分离示意图

二.nginx的负载均衡(实战)

1.nginx安装

一键安装4个依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

解压输入  tar -xvf nginx-1.13.7.tar.gz

# 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块

./configure --with-http_stub_status_module --with-http_ssl_module

# 安装

make && make install

启动nginx

启动

./nginx

# 重启

./nginx -s reload

# 关闭

./nginx -s stop

# 或者,指定配置文件启动

./nginx -c /usr/local/nginx/conf/nginx.conf

开放端口小编就不详细阐述了直接看图

以及效果展示

2.模拟负载均衡(构建两个服务器模拟)

删除原有项目

rm -rf oapro*

#准备2个tomcat(小编端口号修改过为8082

cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8080/

然后在进入tomact的目录中的conf

通过  vim server.xml 即可修改

然后在分别启动即可

修改nginx.conf文件

upstream  tomcat_list {  #服务器集群名字
  server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
  server    127.0.0.1:8082  weight=3; #服务器2   weight是权重的意思,权重越大,分配的概率越大
}

重新加载配置文件

./nginx  -s reload

在将项目部署到其中即可,在重新启动

3.前端项目打包

首页要确定前端项目能够正常启动

然后在进行打包

通过 npm run  build 即可打包

4.前台部署

通过配置路由的·不同来设置  求地址(到底是前台接口还是后台接口

下载一个插件用于 zip的解压

yum install -y unzip

通过 unzip blog.zip 解压问

其中 root 配置 dist所在的目录

                             

location  ^~/api/ {
    #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
    proxy_pass http://tomcat_list/;
  }

然后通过

#1.C:\Windows\System32\drivers\etc\hosts中增加映射关系

ip + www.zking.com  即可

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
6月前
|
负载均衡 监控 网络协议
在Linux中,负载均衡的作用有哪些?
在Linux中,负载均衡的作用有哪些?
|
6月前
|
负载均衡 应用服务中间件 Linux
在Linux中,Nginx如何实现负载均衡分发策略?
在Linux中,Nginx如何实现负载均衡分发策略?
|
6月前
|
负载均衡 网络协议 Linux
在Linux中,负载均衡的原理是什么?
在Linux中,负载均衡的原理是什么?
|
6月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
6月前
|
监控 Linux 应用服务中间件
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
6月前
|
负载均衡 安全 Linux
在Linux中,什么是负载均衡,并且如何在Linux中实现它。
在Linux中,什么是负载均衡,并且如何在Linux中实现它。
|
6月前
|
负载均衡 应用服务中间件 Linux
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
9天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
22天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
143 8