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

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月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)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
5月前
|
监控 Linux 应用服务中间件
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
5月前
|
负载均衡 应用服务中间件 Linux
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
5月前
|
负载均衡 监控 网络协议
在Linux中,负载均衡的作用有哪些?
在Linux中,负载均衡的作用有哪些?
|
5月前
|
负载均衡 应用服务中间件 Linux
在Linux中,Nginx如何实现负载均衡分发策略?
在Linux中,Nginx如何实现负载均衡分发策略?
|
5月前
|
负载均衡 网络协议 Linux
在Linux中,负载均衡的原理是什么?
在Linux中,负载均衡的原理是什么?
|
5月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
5月前
|
负载均衡 安全 Linux
在Linux中,什么是负载均衡,并且如何在Linux中实现它。
在Linux中,什么是负载均衡,并且如何在Linux中实现它。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
133 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
531 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
102 3