什么是Nginx?

nginx反向代理、负载均衡、nginx软件平滑升级 nginx反向代理;nginx 虚拟主机配置;nginx 访客 IP ⿊名单;nginx 七层负载均衡;nginx 四层负载均衡;nginx软件平滑升级; 阅读详情

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能。

大家好,我是IT修真院上海分院一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务三,扩展思考中的知识点——Nginx是什么?

1 背景介绍

1.1 web服务器
Nginx 的竞争对手—Apache、Lighttpd、Tomcat、 Jetty、IIS,它们都是 Web 服务器,或者叫做 WWW(World Wide Web)服务器,相应地 也都具备 Web 服务器的基本功能 :基于 REST 架构风格 ,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟 通依据,通过 HTTP 为浏览器等客户端程序提供各种网络服务。然而,由于这些 Web 服务器 在设计阶段就受到许多局限,例如当时的互联网用户规模、网络带宽、产品特点等局限,并 且各自的定位与发展方向都不尽相同,使得每一款 Web 服务器的特点与应用场合都很鲜明。
对比:
1.2 web服务器对比
Tomcat 和 Jetty 面向 Java 语言,先天就是重量级的 Web 服务器,它的性能与 Nginx 没 有可比性,这里略过。

IIS 只能在 Windows 操作系统上运行。Windows 作为服务器在稳定性与其他一些性能上 都不如类 UNIX 操作系统,因此,在需要高性能 Web 服务器的场合下, IIS 可能会被“冷落”。

Apache 的发展时期很长,而且是目前毫无争议的世界第一大 Web 服务器。Apache 有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的 年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发 的 Web 服务器。在 Apache 服务器上,如果有数以万计的并发 HTTP 请求同时访问,就会导 致服务器上消耗大量内存,操作系统内核对成百上千的 Apache 进程做进程间切换也会消耗 大量 CPU 资源,并导致 HTTP 请求的平均响应速度降低,这些都决定了 Apache 不可能成为高性能 Web 服务器,这也促使了 Lighttpd 和 Nginx 的出现。

Lighttpd 和 Nginx 一样,都是轻量级、高性能的 Web 服务器,欧美的业界开发者比较钟 爱 Lighttpd,而国内的公司更青睐 Nginx,Lighttpd 使用得比较少。

1.3 为什么选择 Nginx?
(1)更快
(2)高扩展性
(3)高可靠性
(4)低内存消耗
(5)单机支持 10 万以上的并发连接
(6)热部署
(7)最自由的 BSD 许可协议

2 知识剖析

反向代理


动静分离


负载均衡

反向代理:
反向代理(reverse proxy)方式是指用代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外的表现就是一个Web 服务器。充当反向代理服务器也是Nginx的一种常见用法(反向代理服务器必须能够处理大量并发请求)。
动静分离
由于Nginx 具有“强悍”的高并发高负载能力,因此一般会作为前端的服务器直接向客户端提供静态文件服务,用Apache、Tomcat等服务器来处理动态资源,实现动静分离。
负载均衡
作为代理服务器,一般都需要向上游服务器的集群转发请求。这里的负载均衡是指选择一种策略,尽量把请求平均地分布到每一台上游服务器上。

3 常见问题

怎么降低上游服务器的负载?

4 解决方案

使用Nginx的反向代理可以降低上游服务器的并发压力。

5 编码实战

准备工作:
本地配置两个Tomcat1(端口8080)和Tomcat2(端口8081)
创建test文件,打包成test.war包,添加至Tomcat1(端口8080)和Tomcat2(端口8081)的weapps目录下,运行Tomcat
在这里插入图片描述
在这里插入图片描述
将nginx解压至本地

cmd下运行 start nginx 启动nginx
输入127.0.0.1可以看到nginx已经启动了
在这里插入图片描述
反向代理:
修改conf/nginx.conf文件
在这里插入图片描述
重启nginx负载均衡:
修改conf/nginx.conf文件
在这里插入图片描述
重启nginx
在这里插入图片描述
刷新一下
在这里插入图片描述
6 扩展思考

(1)Nginx正向代理和反向代理http://blog.51cto.com/z00w00/1031287
(2)Nginx中的upstream轮询机制https://www.cnblogs.com/liqiu/p/3140329.html
(3)Nginx如何实现高并发?https://www.cnblogs.com/xawei/p/6812134.html

7 参考文献

《深入理解Nginx:模块开发与架构解析》陶辉 著

8 更多讨论

PPT链接 视频链接

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖


“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,学习的路上不再迷茫。”

技能树·IT修真院:https://www.jnshu.com

Nginx完全指南(一):安装Nginx etc/nginx/conf.d/目录包含默认的HTTP服务器配置文件,其中以.conf结尾的文件都包含在/etc/nginx/nginx.conf文件的顶层http代码块中。/etc/nginx/nginx.conf文件是NGINX守护进程使用的默认配置入口点。在默认配置中,/etc/nginx/nginx.conf文件包括顶层http代码块,也就是上下文,它提供了下述目录中的所有配置文件。/etc/nginx/目录是NGINX服务器的默认配置根,你可以从中找到指示NGINX如何运行的配置文件。 阅读详情

相关推荐

nginx 配置 - nginx设置 - Nginx开机启动

1.简易安装nginx: ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid 2.进入/usr/lib/systemd/system目录下,编写nginx.service文件: [Unit] Desc...

爱上编程已很久 2110

Nginx 40 问!

什么是Nginx?Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。Nginx 有哪些优点?跨平台、配置简单。非阻塞、高并发连接:处理 2-3 万并发连接数,官方监测能支持 5 万并发。内存消耗小:开启 10 个 Nginx 才占 150M 内存。成本低廉,且开源。稳定性高,宕机的

biyusr的专栏 1548

Linux内网使用docker启动nginx或者直接使用nginx

本文详细介绍了在服务器上使用Docker部署Nginx的完整流程。首先说明如何安装Docker环境,包括下载、解压、配置系统服务等步骤。然后指导拉取Nginx镜像并打包成tar文件,上传到服务器加载。接着详细讲解Nginx容器的启动、配置挂载点、端口映射等操作,包括如何拷贝容器内配置文件到宿主机。文章还提供了常用Docker命令总结和注意事项,如自启动配置、多端口映射等。最后介绍了直接安装Nginx的替代方案,包括gcc、g++、zlib等依赖库的安装步骤。两种部署方式都给出了详细的命令和配置说明。

m0_71959549的博客 4688

Nginx大全

Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、腾讯等Nginx是十分轻量级的HTTP服务器。Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。

jylee的博客 1121

科研ABC - The Results Section(SCI论文写作补充)

1 前言 1.1 IMRD格式 1.2 Results部分意义 1.3 Results部分主要内容 2 Results & Discussion关系 2.1 Results & Discussion部分的搭配方式 2.2 Results & Discussion部分的区分 3 Results部分的结构 3.1 Move 1: Set the Stage 3.1....

洋洋洋2020的blog 1615

STM32F407+LAN8720网口不通?别慌,手把手教你用CubeMX和HAL库搞定RMII配置与调试

本文详细介绍了STM32F407与LAN8720网口不通的全面排查与解决方法,涵盖硬件检查、CubeMX配置、PHY芯片初始化和LWIP协议栈优化。通过RMII接口配置、时钟树设置和PHY芯片调试,帮助开发者快速定位并解决网络连接问题,提升嵌入式网络开发效率。

weixin_30457551的博客 506

面试被问Nginx,怎么破?

往期热门文章: 1、40 个 SpringBoot 常用注解:让生产力爆表! 2、3种常见的数据脱敏方案 3、BigDecimal使用不当,造成P0事故! 4、改造BeanUtils,优雅实现List数据拷贝 5、SpringBoot 启动时自动执行代码的几种方式,还有谁不会??什么是Nginx?Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、H...

Java之间 661

[Github]GitHub 2FA快速安全配置全攻略

GitHub强制要求用户启用双重身份验证(2FA)以提升代码安全。本文详细介绍了2FA的三种实现方式:TOTP应用验证(推荐)、SMS短信验证(备用)和硬件安全密钥(最安全),并提供了配置指南。特别推荐使用在线工具2FA.run快速测试TOTP功能。文章还涵盖恢复代码管理、企业级2FA策略制定以及常见问题解决方案,如时间同步问题、多设备同步等。通过强制2FA、定期审计和建立安全事件响应流程,开发者可构建更安全的代码管理体系。

冰茶的博客 2616

Linux Nginx服务器介绍

1.1 什么是Nginx? Nginx (engine x) 是一个轻量级的高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP服务。 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全...

weixin_45029822的博客 325

ch32v103xx 烧写

烧写方式 串口uart, usb,swd(wch link)但不建议按此使用,参官方说明。

qq_39239990的博客 637

在工作台 LS-DYNA 中检索和变换反作用力分量

在结构仿真中,通常需要由施加的位移或速度边界条件产生的反作用力。此外,通常需要根据用户定义的坐标系解析反作用力分量。在本文中,详细介绍了在Workbench (WB) LS-DYNA 中,相对于用户定义的坐标系检索和变换反作用力分量的过程。

jkh920184196的博客 885

Nginx知识

什么是Nginx? Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。 Nginx 有哪些优点? 跨平台、配置简单。 非阻塞、高并发连接:处理 2-3 万并发连接数,官方监测能支持 5 万并发。 内存消耗小:开启 10 个 Nginx 才占 150M 内存。 成本低廉,且开源。

DTCloud 4512

55、Mac OS X 10.2 安装、设置、卸载及故障排除全攻略

本博客全面解析了 Mac OS X 10.2 的安装、设置、卸载及故障排除方法。内容涵盖四种安装方式的适用场景及操作步骤、设置助手的详细配置流程、卸载注意事项与恢复建议,以及常见问题和进阶故障的解决办法。通过图文并茂的形式,帮助用户快速掌握 Mac OS X 10.2 的基础与高级操作,是使用该操作系统的实用指南。

qsc90123456的博客 151

yum安装nginx,编译安装nginx

安装nginx

Peter1617的博客 4221

黑猫带你学Nand第11篇:万字长文带你了解NandFlash的数据保持原理及特性(Data Retention)

TATTAT:Trap-assistedtunneling,陷阱辅助隧穿,也有叫法称为电荷陷阱现象。这是一种物理现象,它发生在非挥发性存储器,如NAND闪存。在这种效应中,存储在闪存单元浮动栅极上的电荷(电子)由于隧道氧化物中捕获的电荷形成的电场影响,导致电荷通过隧道效应从一个能级隧穿到另一个能级,从而造成电荷泄漏。这种电荷泄漏是导致闪存数据保持问题的主要原因之一,因为它可以改变存储在闪存单元中的电荷量,进而改变其阈值电压水平,最终可能导致数据错误。在NANDFlash中,电荷被存储在浮置栅极上。

黑猫奥利奥的博客 1095

【Unity程序技巧】Unity中单例模式管理器

单例模式(Singleton Pattern)是 最简单的设计模式之一

秩沅 1656

nginx文件和目录以及部分nginx命令

etc/nginx/conf.d/ 目录包含默认的 HTTP 服务器配置文件,其中以 .conf 结尾的 文件都包含在 /etc/nginx/nginx.conf 文件的顶层 http 代码块中。/var/log/nginx/ 目录是 NGINX 的默认日志位置,您可以从中找到一个 access.log 文件和 error.log 文件。/etc/nginx/ 目录是 NGINX 服务器的默认配置根,可以从中找到指示 NGINX 如何运行的配置文件。nginx -t 测试 NGINX 配置。

qq_52676760的博客 4592

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Nginx】nginx隐藏版本号

在实际运用nginx中我们最好将我们的版本号直接隐藏,因为有些版本号的nginx被爆出了漏洞,所以我们为了安全起见,最好将我们的版本号隐藏。 1.对于未安装的nginx我们使用源码编译安装才可以将版本号和web服务器名称都更改掉。 我们需要进入我们的源码包的目录 编辑以下配置文件scr/core/nginx.conf 1 #define NGINX_VERSION "1.10.2" 2 #define NGINX_VER "nginx/" NGINX_VERSION 我将以上的两个配置文件修改.

姜太小白的博客 9613

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

nginx配置开机启动/usr/local/nginx/sbin/nginx

Nginx 是一个很强大的高性能Web和反向代理服务器。虽然使用命令行可以对nginx进行各种操作,比如启动等,但是还是根据不太方便。设置开机自启动。 首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令: vim /etc/init.d/nginx 在脚本中添加如下命令: #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # descri

三朝看客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

windows下nginx的安装及使用

本文介绍了Windows系统下Nginx的安装与基础使用方法。主要内容包括:1. 下载稳定版Nginx并解压;2. 通过双击或命令行启动Nginx;3. 验证启动成功的方法(访问localhost或查看进程);4. 修改监听端口和配置文件热更新;5. 两种关闭Nginx的方式(命令停止或强制终止进程);6. 配置负载均衡(通过proxy_pass转发请求并设置权重);7. 静态资源配置方法(指定本地目录映射)。文章提供了常用命令和配置示例,适合快速掌握Nginx的基本操作。

ywl470812087的博客 11万+

从 Ingress-NGINX Controller 迁移至 NGINX Ingress Controller

本文介绍了从社区版Ingress-NGINX Controller迁移到F5提供的NGINX Ingress Controller的两种方法:使用NGINX自定义资源或Kubernetes原生Ingress资源。文章详细对比了两者在SSL终止、TCP/UDP负载均衡、金丝雀部署、流量控制等方面的配置差异,并提供了具体的资源转换示例。迁移后可以充分利用NGINX Plus的高级功能,如会话保持、mTLS认证等。文档摘自《Kubernetes Ingress Controller Deployment and

NGINX开源社区的博客 1896

Nginx学习之Nginx高性能的实现原理

Nginx master-worker进程机制。IO多路复用机制。Accept锁及REUSEPORT机制。sendfile零拷贝机制1、Nginx进程机制1.1、Nginx进程机制概述许多web服务器和应用服务器使用简单的线程的(threaded)、或基于流程的(process-based)架构, NGINX则以一种复杂的事件驱动(event-driven)的架构脱颖而出,这种架构能支持现代硬件上成千上万的并发连接。

人工智能全栈工程师 | 智能算法研发与实战落地​专注于人工智能算法研究、代码实现与工程落地,提供从模型设计到部署应用的全流程解决方案。 2348

查看nginx是否启动_keepalived+nginx高可用nginx存活检测

摘要:Keepalived可以用来防止服务器单点故障的发生,通过配合NGINX可以实现web 前端服务的高可用,但目前多个项目使用keepalived搭建软负载时,与NGINX相互独立,未实现两者的相互关联。keepalived中添加NGINX存活监测模块可实现keepalived配合NGINX高可用。关键词(知识库热搜词):高可用 存活监测1案例背景•现有项目使用软负载的情况下,kee...

weixin_39860636的博客 2093

讲解 Ingress-NGINX 的源码

讲解 Ingress-NGINX 的源码也非常有意义。它是在我们刚才讨论的 NGINX 源码之上的一个更高层次的封装,完美地展示了如何将一个强大的数据平面(NGINX)与一个现代的控制平面(Kubernetes API)相结合。如果你已经理解了 NGINX 的基本原理,那么理解 Ingress-NGINX 会容易很多。首先,要明确 Ingress-NGINX 不是 NGINX 的一个分支或重写。它是一个独立的程序,其核心使命是:充当 Kubernetes 的 Ingress 控制器(Controller)。

u011091936的博客 1246

Nginx windows下nginx启动bat脚本和安装

nginx.bat @ECHO OFF SET NGINX_DIR=E:\VMS\nginx-1.8.0\ #此处放加压目录 color 0a TITLE Nginx Management GOTO MENU :MENU CLS ECHO. ECHO. * * * * Nginx Management * * * * * * * * * * * ECHO. * * EC...

m0_38068812的博客 6764
上一篇: 如何写SHELL脚本?尝试自己编写一个简单脚本
下一篇: MAP、SET、LIST、QUEUE、STACK的特点与用法
learning__java
博客等级 码龄8年 87粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值