Nginx到底是什么,他能干什么?

这篇具有很好参考价值的文章主要介绍了Nginx到底是什么,他能干什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Ngnix是什么,它是用来做什么的呢?

一。Nginx简介

二,为什么要用Nginx呢?

二。Nginx应用

1.HTTP代理和反向代理

 2.负载均衡


Ngnix是什么,它是用来做什么的呢?

一。Nginx简介

Nginx是enginex的简写,是一款很优秀的开源的高性能HTTP和反向代理服务器,由于它是用C语言写的,所以速度非常快,性能非常优秀,它主要功能就是反向代理,负载均衡,配置SSL证书,防盗链,解决跨域问题,缓存,限流,动静资源分离等等

Nginx是一款轻量级的,高性能的代理Web服务器,作为一个很强大的高性能Web和反向代理服务器它具有很多优秀的特性:Nginx更轻巧,处理的并发数更大(Nginx的并发性在同类型的服务其中表现很好)中国用户使用的很多,比如  百度,京东,网易,腾讯,淘宝等互联网大厂,对HTTP并发连接的高处理能力(单台服务器通常可以处理三万到六万个并发请求),单个链接占用的内存小,通常较多用于处理静态页面和反向代理服务。

Nginx和Apache都采用模范化的结构设计,在连接高并发的情况下,Nginx是Apache服务不错的代理品:Apache的下载包很大,而Nginx的下载包很小,现在的版本大概只有几兆的大小,安装非常方便。能支持最大60000个并发连接数,这是他无与伦比的优势。

上面介绍了Nginx是一台Web服务器,实际上,它并不是一台真正意义上的物理服务器,并不是主观真实存在的实体,它是运行在某台服务器(电脑)上的软件。

那为什么还说它是一台Web服务器呢,???

我们先来理解一下什么事网关,大家都知道,从一个房间进入另一个房间内,必须经过一个门,就像经过一个“关口”,那么从一个网络发送一个消息到另一个网络,也必须经过一个关口,这个关口就可以说是网关。这个关口并不是摆在那里那么简单,关口可以自行决定允不允许让你的消息通过,或者决定是否替你转发和接收消息,把消息分发给其他人,或者帮你的消息添加和需处理一些消息,或者替你回答消息等等功能。

而Nginx就相当于这个网关,转发和接收消息就相当于反向代理,把消息分给其他人就相当于负载均衡。当我们的服务器(电脑)上安装了Nginx这个软件,通过一些简单的配置并运行这个软件,我们在服务器上运行的项目(例如java程序)在接收HTTP请求的时候,这个请求就会被Nginx这个网关先拦截,经过一些上述的处理之后再交给Java程序,此时Nginx就充当了一个网关。因为外网用户的所有请求都会先经过Nginx,所以对于外网的用户来说,他们的请求都是发送给Nginx的,再由Nginx发送给java程序处理后再发还给用户,那么从用户的角度来看,Nginx就相当于一台服务器在接收和回复用户发送的消息,所以也可以理解为Nginx是一台Web服务器。

二,为什么要用Nginx呢?

Nginx跨平台,配置简单。我们可以在linux和windows系统上都开启Nginx服务,配置也非常简单,

在linux上,我们通常只需要修改三四行代码,就可以完成项目的配置,当后端程序重构或者重新部署,例如Java项目换成go项目,也不需要修改Nginx。

Nginx是由C语言写的,速度非常快,性能很优越。目前公认的性能最高的后端语言就是C和C++,而Nginx就是由C语言写的和编译的,其单机开发量非常高,可以达到5w+,而一般的后端Java程序并没有这么高的并发量,所以一般都会选择Nginx当网关放在Java程序之前,提高系统的整体性能。

动静资源分离,一般公司的前后端一般静态资源都会放到Nginx分离项目,用户想获取前端静态资源文件,都得先经过后端Java程序的接口再获取服务器上的静态资源文件,这样的效率并不是很高,而且会占用正常程序接口连接数量,这时候Nginx的动静资源分离功能就提供了很好的解决方法,一般的静态资源文件都会放到Nginx服务器中。当Nginx接收到了获取静态资源的请求,就直接在Nginx服务器中把放进去的静态资源返回了,而不用真正到达后端接口,这个效率是非常高的,比正常的访问速度会快一倍左右。

在并发量较大的项目中,后端往往会开启多个相同的Java服务,来缓解单服务的压力,我们知道,每个Java服务程序都会占用一个端口,那前端在后端接口的时候,怎么知道选择哪个接口呢?这个时候就可以在所有的Java程序前放置一个Nginx程序,所有的请求都会经过Nginx,由Nginx决定分发到哪个端口程序上,,虽然后端有很多个Java程序,但对于前端来说,是无感知的,就好像后台只有一个项目再跑。

二。Nginx应用

1.HTTP代理和反向代理

正向代理有点像NAT网络结构,用户通过网关请求访问网站,网关服务器负责和外网服务器对接请求访问并返回结果

而反向代理则是,用代理服务器来接受客户端的访问请求,然后服务器将请求有策略的转发给正在实际工作中的业务服务器,并将从业务服务器的处理的结果,返回给客户端。

Nginx到底是什么,他能干什么?,前端,nginx,运维

 2.负载均衡

负载均衡建立在现有的网络结构之上,他提供了一种廉价有效透明的方法扩展网络设备和服务器的宽带,增加吞吐量,加强网络数据的处理能力,提高网络的灵活性和可用性

它利用一些反向代理功能加算法策略达到我们想要访问的目的

负载均衡的策略主要有:轮询,加权轮询,IP hash

轮询:

假如有三台服务器和三台客户端,第一次访问时,第一个服务器接受请求;第二次访问时,第二台服务器接受请求,第三次访问时,第三台服务器接受请求。。。。以此类推,按次序分配。

加权轮询:

对接受的请求做一个加权分配,配置高的服务器承担的请求多一点,配置低的接受的请求少一点。假如第二台服务器是第一台服务器的两倍,单位时间里,可以让第二台服务器执行两次,第一台执行一次

IP   hash:

是对客户端请求的ip进行hash散列算法操作,然后根据hash结果将同一客户端的ip请求分发给同一台服务器进行处理,可以解决session不共享的问题文章来源地址https://www.toymoban.com/news/detail-681965.html

到了这里,关于Nginx到底是什么,他能干什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Nginx学习之一撸到底

    一、Nginx环境搭建 ❶首先创建Nginx的目录并进入: ❷下载Nginx的安装包,可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包: 没有wget命令的可通过yum命令安装: ❸解压Nginx的压缩包: ❹下载并安装Nginx所需的依赖库和包: 也可以通过yum命令一键下载(推荐上

    2024年02月16日
    浏览(27)
  • 【Nginx运维】Nginx升级打补丁

    升级nginx的过程主要需要以下步骤: 1.备份当前nginx版本及其配置文件。 2.下载新版本的nginx安装包。(如nginx-1.20.1.tar.gz) 3.解压缩安装包,并进入该目录。 4.使用configure脚本配置编译选项。 5.执行make命令进行编译。 make 6.停止旧版本的nginx服务,启动新版本nginx服务。 7.验证

    2024年02月12日
    浏览(25)
  • Nginx配置文件 所在路径 到底在哪?

    (大坑,误)不同安装方式,nginx配置文件路径也不一样。 在安装目录下的conf目录下,比如我的安装目录是/etc/nginx,那么他的配置文件就在 /etc/nginx/conf 目录下。 若安装目录是/usr/local/nginx,则配置文件即为/usr/local/nginx/conf目录。(即/usr/local/nginx/conf/nginx.conf为配置文件) 在

    2024年02月08日
    浏览(47)
  • 【运维】Nginx添加/替换/更新ssl证书

    xxx.com.key xxx.com.pem 添加或替换红圈里的内容为对应的证书文件目录    打开对应的网站   https://xxx.com

    2024年02月11日
    浏览(57)
  • 【运维安全】运维界葵花宝典:Nginx配置与优化秘籍

    必要的原理介绍 ● Nginx 里有一个master进程和多个worker进程.master进程并不处理网络请求,主要负责调度工作进程: 加载配置,启动工作进程及非停升级.worker进程负责处理网络请求与响应. ● master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各wo

    2024年02月21日
    浏览(35)
  • 【运维知识进阶篇】集群架构-Nginx性能优化

    Nginx花了好多篇文章介绍了,今天谈谈它的优化。我们从优化考虑的方面,压力测试工具ab,具体的优化点三个方面去介绍,话不多说,直接开始! 目录 优化考虑方面 压力测试工具 性能优化 一、影响性能的指标 二、系统性能优化 1、更改文件句柄 2、Time_wait状态重用 三、代

    2024年02月06日
    浏览(44)
  • 【运维知识进阶篇】集群架构-Nginx高可用Keepalived

    高可用是指2台机器启动着完全相同的业务系统,一台机器宕机后,另一台可以快速启用,用户是无感知的。高可用硬件通常使用F5,软件通常使用keepalived。keepalived软件是基于VRRP协议实现的,VRRP虚拟路由冗余协议,主要用于解决单点故障。 目录 VRRP实现原理 Keepalived核心概念

    2024年02月06日
    浏览(49)
  • 【运维】第03讲(上):Nginx 负载均衡常见架构及问题解析

    实际上 Nginx 除了承担代理网关角色外还会应用于 7 层应用上的负载均衡,本课时重点讲解 Nginx 的负载均衡应用架构,及最常见的问题。 Nginx 作为负载均衡是基于代理模式的基础之上,所以在学习本课时前,你需要对 Nginx 的代理、负载均衡的基本原理及 Nginx 负载均衡配置有

    2024年02月16日
    浏览(38)
  • 大数据云计算运维之Nginx反向代理与负载均衡

    一、Nginx概述 1.1 概述 Nginx(“engine x”)是一个高性能的 HTTP /反向代理的服务器及电子邮件(IMAP/POP3)代理服务器。 官方测试nginx能够支撑5万并发,并且cpu,内存等资源消耗却非常低,运行非常稳定。最重要的是开源,免费,可商用的。 Nginx还支持热部署,几乎可以做到7 *

    2024年02月11日
    浏览(42)
  • python做了一个极简的栅格地图行走机器人,到底能干啥?

    在现代科技的普及下,人们对于机器人的兴趣与期待日渐增加。然而,大多数人对机器人的印象仍停留在复杂、高度智能的形象上。而今天,我将重点介绍一个极简的栅格地图行走机器人,它不仅使用了简单的编程语言Python,而且只是一个基础的栅格地图行走算法的展示。这

    2024年02月20日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包