Nginx【反向代理负载均衡动静分离】--上

这篇具有很好参考价值的文章主要介绍了Nginx【反向代理负载均衡动静分离】--上。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nginx【反向代理负载均衡动静分离】–上

先看2 个实际需求,引出Nginx

需求1: 访问不同微服务

示意图

Nginx【反向代理负载均衡动静分离】--上

需求2: 轮询访问服务

示意图

Nginx【反向代理负载均衡动静分离】--上

解决方案: Nginx

  1. 反向代理

  2. 负载均衡

  3. 动静分离

Nginx【反向代理负载均衡动静分离】--上

高可用集群
  1. Nginx 在分布式微服务架构的位置

Nginx【反向代理负载均衡动静分离】--上

Nginx【反向代理负载均衡动静分离】--上

基本介绍

Nginx 是什么? 能干什么?

  1. 是什么:Nginx (“engine x”) 是一个高性能的HTTP 和反向代理WEB 服务器

  2. 能干什么:反向代理负载均衡动静分离

  3. 牛逼之处:高性能,高负载有报告表明能支持高达50,000 个并发连接数

  4. 详细说明:https://lnmp.org/nginx.html

官方资料

  1. 官网:https://nginx.org/

  2. 使用文档:https://nginx.org/en/docs/

Nginx 核心功能

正向代理

一句话:如果我们要访问www.google.com 但是直接访问不到,则需要通过代理服务器来访问,这种代理服务就称为正向代理
Nginx【反向代理负载均衡动静分离】--上

图解
  1. 我们知道www.google.com , 但是访问不到
  2. 所以使用代理服务器帮助我们(即客户端)来上网, 注意帮助的对象是客户端, 这种代理,我们称为正向代理.
  3. 正向代理同时也隐藏了客户端信息.
  4. 再次说明,正向代理帮助的是客户端, 因此可以把客户端+正向代理服务, 视为一个整体

反向代理

一句话:客户端将请求发送到代理服务器,由代理服务器去选择目标服务器获取数据后,返回给客户端,这种代理方式为反向代理

一图胜千言

Nginx【反向代理负载均衡动静分离】--上

图解
  1. 项目设计者, 不希望客户端直接访问目标Web 服务器(比如目标Web 服务器是集群, 如果直接访问就会提供多个公网IP), 而是希望提供一个统一的访问IP, 这个是理解反向代理的前提,即为什么要反向代理.
  2. 反向代理帮助的对象是目标Web 服务器
  3. 当客户端请求达到反向代理服务后,由反向代理服务来决定如何访问目标Web 服务器(或者是哪个Web 服务器), 这个过程对客户端是透明的.
  4. 反向代理服务会暴露公共的IP, 只要能上网,就可以访问,但是对于反向代理服务器管理的/代理的Web 服务器通常是在局域网内,不能直接访问,只能通过反向代理来访问.
  5. 我们可以将反向代理服务+反向代理服务代理的Web 服务器视为一个整体
  6. 反向代理会屏蔽内网服务器(也就是他代理的服务)信息, 并实现负载均衡访问

负载均衡

一句话:当客户端向反向代理服务器(比如Nginx)发出请求,如果Nginx 代理了多个WEB 服务器(集群),Nginx 会将请求/负载分发到不同的服务器,也就是负载均衡

示意图

Nginx【反向代理负载均衡动静分离】--上

动静分离

一句话:为了加快网站的解析速度,可以把动态资源和静态资源由不同的服务器来解析,降低单个服务器的压力

传统的项目资源部署

– 示意图
Nginx【反向代理负载均衡动静分离】--上

动静分离项目资源部署

– 示意图

Nginx【反向代理负载均衡动静分离】--上

Nginx 下载&安装&启动

注意安装这里就不详细讲解了网上有许多优秀的教程

这理里就主要说一下要点和容易犯的错误

启动Nginx 可能的错误和解决方案

  1. 解决nginx 启动报错nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No suchfile or directory)

Nginx【反向代理负载均衡动静分离】--上

Nginx【反向代理负载均衡动静分离】--上

Nginx【反向代理负载均衡动静分离】--上

配置防火墙,让Windows 访问Nginx

说明:默认情况下Windows 是不能访问Nginx , 因为防火墙是关闭80 端口的

具体配置

● 查看开放的端口号

firewall-cmd --list-all

Nginx【反向代理负载均衡动静分离】--上

● 设置开放的端口号

#firewall-cmd --add-service=http --permanent #增加了一个http 服务,理解
firewall-cmd --add-port=80/tcp --permanent

● 重启防火墙

firewall-cmd --reload

Nginx 命令行参数

指令说明

地址:https://nginx.org/en/docs/switches.html
Nginx【反向代理负载均衡动静分离】--上

使用演示

  1. 启动/usr/local/nginx/sbin/nginx -c nginx.conf
  2. 停止/usr/local/nginx/sbin/nginx -s stop
  3. 重新加载(不需要重启) /usr/local/nginx/sbin/nginx -s reload
  4. 查看版本/usr/local/nginx/sbin/nginx -v
  5. 查看版本、配置参数/usr/local/nginx/sbin/nginx -V

反向代理-快速入门

需求说明/图解

  1. 在浏览器输入www.hsp.com(windows), 可以访问到tomcat
  2. 使用Nginx 反向代理功能, 完成需求.

Nginx【反向代理负载均衡动静分离】--上

实现步骤

安装JDK , 在8 以上, 参考我Linux的javaee定制篇

安装步骤

  1. mkdir /opt/jdk
  2. 通过xftp6 上传到/opt/jdk 下
  3. cd /opt/jdk
  4. 解压tar -zxvf jdk-8u261-linux-x64.tar.gz
  1. mkdir /usr/local/java

  2. mv /opt/jdk/jdk1.8.0_261 /usr/local/java

  3. 配置环境变量的配置文件vim /etc/profile

  4. export JAVA_HOME=/usr/local/java/jdk1.8.0_261

    export PATH=$JAVA_HOME/bin:$PATH
    
  5. source /etc/profile [让新的环境变量生效]

测试是否安装成功

Nginx【反向代理负载均衡动静分离】--上

安装Tomcat

参考: 参考我Linux的javaee定制篇

步骤

1)上传安装文件,并解压缩到/opt/tomcat

2)进入解压目录/bin , 启动tomcat ./startup.sh

3)开放端口8080 , 回顾firewall-cmd

测试是否安装成功

在windows、Linux 下访问http://linuxip:8080

Nginx【反向代理负载均衡动静分离】--上

修改C:\Windows\System32\drivers\etc\hosts 配置虚拟主机名
#127.0.0.1 www.mynews.com
127.0.0.1 localhost

修改安装目录\nginx.conf

Nginx【反向代理负载均衡动静分离】--上

小技巧: 如何查看nginx.conf 的配置错误

nginx -t #检测默认配置文件

Nginx【反向代理负载均衡动静分离】--上

nginx -t -c 配置文件#指定检测配置文件

Nginx【反向代理负载均衡动静分离】--上

完成测试

重启或者重新加载Nginx

windows 浏览器输入: http://www.自己设置的.com

Nginx【反向代理负载均衡动静分离】--上

注意事项和细节

Nginx 对外提供访问入口,充当反向代理服务器,Tomcat 的端口就无需对外暴露-测试一把

开启和关闭防火墙的端口

● 以8080 端口为例,关闭8080 端口

firewall-cmd --remove-port=8080/tcp --permanent
firewall-cmd --reload

● 以8080 端口为例,开放8080 端口

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

● 查看防火墙状态

firewall-cmd --list-all

反向代理配置-Location 实例

– 效果示意图

Nginx【反向代理负载均衡动静分离】--上

反向代理配置-思路分析/图解

Nginx【反向代理负载均衡动静分离】--上

Location 语法规则

解读1-location 语法规则

因为太长了单独发

解读2-nginx 的location 解析过程

参考: https://blog.huati365.com/89af5ae5a56d1b96
Nginx【反向代理负载均衡动静分离】--上

实现步骤

修改C:\Windows\System32\drivers\etc\hosts 配置虚拟主机名

192.168.12.134 www.自己的.com

192.168.12.134 www.自己的.com

修改安装目录\nginx.conf

Nginx【反向代理负载均衡动静分离】--上

在Linux 的Tomcat 创建webapps\product\hi.html

<h1>product service linux tomcat </h1>

在windows 的Tomcat 创建webapps\member\hi.html

linux 防火墙打开10000 端口

保证linux 可以访问Windows Tomcat 【即:可以访问Windows 的8080 端口, 可暂时关闭windows 防火墙,测完恢复】

完成测试

  1. 确保启动Linux 下的Tomcat

  2. 确保启动Windows 下的Tomcat

  3. 重启或者重新加载Nginx

  4. windows 浏览器输入[注意带上端口]:

    http://www.hspmall.com:10000/product/hi.html

    http://www.hspmall.com:10000/member/hi.html

Nginx【反向代理负载均衡动静分离】--上

这里就演示这一种 还有很多不同的可以自行去玩一下文章来源地址https://www.toymoban.com/news/detail-480272.html

到了这里,关于Nginx【反向代理负载均衡动静分离】--上的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

    Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。 Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器

    2024年02月16日
    浏览(43)
  • 03Nginx的静态资源部署,反向代理,负载均衡,动静分离的配置

    部署静态资源 Nginx相对于Tomcat处理静态资源的能力更加高效,所以在生产环境下一般都会将Nginx可以作为静态web服务器来部署静态资源 静态资源: 在服务端真实存在并且能够直接展示的一些html页面、css文件、js文件、图片、视频等资源文件 将静态资源部署到Nginx非常简单,只需要

    2024年02月04日
    浏览(44)
  • Nginx详解 第五部分:Ngnix反向代理(负载均衡 动静分离 缓存 透传 )

    什么是正向代理? 正向代理代理的是客户端 。 客户端设备要访问局域网以外的 Internet 时,需在客户端浏览器中配置代理服务器,然后通过代理服 务器来进行访问,将访问到的局域网以外的 Internet 网站内容返回给客户端,而不是通过局域网中的客 户端设备直接访问。 正向

    2024年02月10日
    浏览(75)
  • Linux-nginx(安装配置nginx、配置反向代理、Nginx配置负载均衡、动静分离)

    关于代理 正向代理: 客户明确知道自己访问的网站是什么 隐藏客户端的信息 目录 关于代理 一、Nginx的安装与配置 1、安装依赖 2、安装nginx (1)上传压缩包到目录 /usr/nginx里面 (2)解压文件 (3)进入到nginx的文件夹下面 进行默认的配置  ./configure (4) Make make install (5)

    2024年01月21日
    浏览(44)
  • Ngnix之反向代理、负载均衡、动静分离

    目录 1. Ngnix  1.1 Linux系统Ngnix下载安装 1.2 反向代理 正向代理(Forward Proxy): 反向代理(Reverse Proxy): 1.3 负载均衡 1.4 动静分离 Nginx是一个高性能的开源Web服务器,它还可以用作反向代理、负载均衡器以及动静分离的工具。 nginx: download 或   上传到服务器后: 进入到/usr/

    2024年02月04日
    浏览(49)
  • Nginx+Tomcat 负载均衡、动静分离

    目录 一、Nginx代理服务器概念 1.正向代理 2.反向代理 二、动静分离 三、负载均衡  四、Nginx七层代理实验 1.部署Nginx服务 2. 部署Tomcat服务  2.1在192.168.88.50 虚拟机上部署双实例 2.2在192.168.88.60 上部署Tomcat服务器3 3.动静分离配置 3.1Tomcat1 server 配置 3.2 Tomcat2 server 配置 3.3Tomc

    2024年02月08日
    浏览(50)
  • Nginx+Tomcat负载均衡、动静分离群集

    Nginx是一款非常优秀的HTTP服务器软件,支持高达50000个并发连接数的响应、拥有强大的静态资源处理能力、运行稳定、内存和CPU等系统资源消耗非常低 目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力 Nginx实现负载

    2024年02月09日
    浏览(43)
  • Nginx+Tomcat实现负载均衡、动静分离

    目录 一、Nginx负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现  2、Nginx配置反向代理主要参数 3、动静分离原理  4、Nginx静态处理优势 5、并发量和吞吐量计算 二:7层反向代理          1、环境准备 ​2、配置Nginx Server 3、tomcat1 和tomcat2配置 4、 搭建tomcat3 5、设置

    2024年02月05日
    浏览(56)
  • “深入理解Nginx的负载均衡与动静分离“

    在现代互联网应用中,高性能和可扩展性是至关重要的。Nginx作为一款高性能的Web服务器和反向代理服务器,被广泛应用于各种规模的网站和应用程序中。本文将深入探讨Nginx的负载均衡和动静分离的原理与实践,帮助读者更好地理解和应用这些功能。 Nginx是一款轻量级的高性

    2024年02月06日
    浏览(43)
  • tomcat的负载均衡、动静分离(nginx联动)

    动静分离: 访问静态页面和动态页面分开 实现动态和静态页面负载均衡 实验5台虚拟机 一、动态负载均衡 3台虚拟机模拟: 代理服务器:30 tomcat动态页面:21、22 代理服务器:   proxy_pass http://tomcat;         proxy_set_header HOST $host;         proxy_set_header X-Real-IP $remote_a

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包