linux之Nignx及负载均衡&动静分离

简介: linux之Nignx及负载均衡&动静分离

9228ccc579094f99a4dd16fec4a025d6.jpg

一.Nignx的简介

       1.1 什么是Nginx?

       Nginx(发音为"engine x")是一个高性能的开源Web服务器和反向代理服务器。它专为性能优化而设计,并且非常适用于处理高并发和高负载的网络环境

       1.2 Nginx的特点:

  • 高性能:Nginx使用事件驱动的异步架构,可以处理大量并发连接,而且非常高效。
  • 轻量级:Nginx的代码精简,资源消耗低,启动速度快。
  • 可扩展性:Nginx支持模块化的架构,可以通过添加模块来扩展其功能。
  • 反向代理和负载均衡:Nginx可以作为反向代理服务器,将请求转发到后端的多个服务器,并且支持负载均衡算法。
  • 高可靠性:Nginx具有自动故障恢复和热部署的特性,可以提供高可用性的服务。

        1.3 Nginx的应用场景:

  • Web服务器:Nginx可以作为静态文件服务器,处理静态资源的请求。
  • 反向代理服务器:Nginx可以将客户端请求转发到后端的多个服务器,实现负载均衡和高可用性。
  • 缓存服务器:Nginx可以缓存经常请求的静态内容,减轻后端服务器的负载。
  • SSL/TLS终端代理:Nginx可以作为SSL/TLS终端代理,将加密和解密操作从后端服务器中分离出来,提高性能和安全性。

       1.4 Nginx的配置文件:

       Nginx的主要配置文件是nginx.conf它包含了全局配置和每个虚拟主机的配置。你可以在配置文件中设置监听端口、域名绑定、反向代理规则、缓存设置等。

        1.5 Nginx的常用命令和管理:

  • 启动Nginx:sudo systemctl start nginx
  • 停止Nginx:sudo systemctl stop nginx
  • 重启Nginx:sudo systemctl restart nginx
  • 重新加载配置文件:sudo systemctl reload nginx
  • 查看Nginx状态:sudo systemctl status nginx

   1.6.Nginx之负载均衡

       Nginx的负载均衡是指将请求分配到多个服务器上,以平衡服务器的负载和提高系统的性能和可靠性。当有大量的请求到达时,负载均衡可以将这些请求分发到多个后端服务器上,以避免单个服务器过载,提高处理能力和响应速度

  1.7.Nginx之动静分离

       动静分离是指将动态请求和静态请求分开处理的一种架构设计方式,可以提升系统的性能、节约资源,并提供更灵活的系统扩展和优化方式。

  •        动态请求是指需要经过后端处理程序生成内容的请求,常见的例子包括动态网页、接口请求等。这些请求需要耗费服务器的计算资源和时间。
  •       静态请求是指不需要经过后端处理程序生成内容的请求,例如图片、CSS、JavaScript等静态资源文件。这些请求的处理速度较快,不需要消耗服务器的计算资源。

       在Nginx中实现动静分离的配置方式通常是通过在Nginx的配置文件中设置location指令。可以将静态资源所在的目录配置为一个location,并设置相应的缓存策略。动态请求的转发可以通过设置反向代理的方式实现。

二. Nginx搭载负载均衡

   1.   下载4个依赖,输入以下命令,回车即可

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

   2.   解压Nginx安装目录:

           tar -xvf nginx-1.13.7.tar.gz

   3.    进入安装包目录

           cd nginx-1.13.7

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

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

   5.  安装

        make && make install

在这个 nginx/sbin目录下,启动nginx,输入命令 ./nginx

下载lsof 查看是否启动成功 ,输入命令:yum install -y lsof

下载好之后输入命令:lsof -i:80

接下来开放一个 80 端口号:

开放端口号:

        firewall-cmd --zone=public --add-port=80/tcp --permanent

刷新防火墙:

        firewall-cmd --reload && firewall-cmd --list-port

tomcat负载均衡

       准备两个tomcat,输入命令:

               cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/

为了避免端口号冲突,需要修改端口号,输入命令:vi server.xml ,进入之后点击 i 键,进行编辑,编辑好之后点击esc键 输入:wq 保存退出,另外一个tomcat也是,将其端口号改为8080

接着改变8081的内容方便等下区分,进入以下路径:

       /root/javayz/software/apache-tomcat-8.5.20_8081/webapps/ROOT/

把里面的内容的清空:

将tomcat负载,现在来配置其文件:

在这个配置下,新增以下这个:

#服务器的集群

   upstream  tomcat_list {  #服务器集群名字

       server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。

       #server    127.0.0.1::8080  weight=2; #服务器2   weight是权重的意思,权重越大,分配的概率越大

   }

最后点击esc 键 输入命令:wq保存退出,再重启Nginx,输入命令:./nginx -s reload

因为刚刚的8081的  weight的这个比8080的大所以,8081出现的概率大一些

三.前端项目部署

新建一个mypeo的文件夹

进入mypro的目录下将前端架包导入:

解压的话,需要下载一个插件,输入命令:yum install -y unzip,再输入:unzip blog.zip即可解压,接着还需要修改,nginx.conf文件:新增以下保存即可

 location / {

          root /usr/local/mypro/dist;

             #proxy_pass   http://tomcat_list;

           index  index.html index.htm;

       }

       location  ^~/api/ {

       proxy_pass http://tomcat_list/;

   }

这个时候,我们就进行访问,发现提交不了,是因为域名拦截

我们进入电脑的以下目录下:

C:\Windows\System32\drivers\etc\hosts

再次访问:

好啦,今天的分享就到这啦

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
4月前
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
49 1
|
5月前
|
负载均衡 前端开发 应用服务中间件
【Linux】Nginx安装使用负载均衡及动静分离(前后端项目部署),前端项目打包
【Linux】Nginx安装使用负载均衡及动静分离(前后端项目部署),前端项目打包
384 0
|
22天前
|
负载均衡 Java 关系型数据库
linux 下amoeba实现数据库的负载均衡
linux 下amoeba实现数据库的负载均衡
13 1
|
4月前
|
负载均衡 算法 前端开发
Ngnix之反向代理、负载均衡、动静分离
Nginx是一个高性能的开源Web服务器,它还可以用作反向代理、负载均衡器以及动静分离的工具。
|
5月前
|
负载均衡 前端开发 应用服务中间件
百度搜索:蓝易云【Nginx使用之反向代理、负载均衡、动静分离教程。】
通过这样的配置,Nginx将根据请求的URL路径选择是将请求转发到后端服务器还是直接返回静态资源文件。
139 0
|
5月前
|
负载均衡 应用服务中间件 Linux
Nginx安装Windows、Linux | 正向代理、反向代理、负载均衡
Nginx安装Windows、Linux | 正向代理、反向代理、负载均衡
99 0
|
22天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
35 0
|
4月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
35 0
|
12天前
|
负载均衡 应用服务中间件 nginx
Nginx 负载均衡
Nginx 负载均衡
23 2
|
3月前
|
负载均衡 Java 应用服务中间件