【Nginx 第一篇章】认识一下 Nginx

简介: Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。由俄罗斯程序员 Igor Sysoev 开发,并在2004年首次公开发布。Nginx 以其高并发处理能力、低内存消耗、稳定性、丰富的功能集、简单的配置以及低学习曲线而广受欢迎。Nginx 通常被用作 Web 服务器来托管网站,但也可以有效地用作反向代理、负载均衡器和 HTTP 缓存。

一、简介

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。由俄罗斯程序员 Igor Sysoev 开发,并在2004年首次公开发布。Nginx 以其高并发处理能力、低内存消耗、稳定性、丰富的功能集、简单的配置以及低学习曲线而广受欢迎。Nginx 通常被用作 Web 服务器来托管网站,但也可以有效地用作反向代理、负载均衡器和 HTTP 缓存。

二、Nginx 的主要特点

1、高性能:Nginx 采用了异步非阻塞的事件驱动模型,这使得它能够处理数以万计的并发连接,而无需为每个请求创建新的进程或线程。

2、稳定性:Nginx 的设计使其能够在高负载下保持稳定的性能,减少了崩溃和重启的需要。

3、丰富的功能集:除了基本的 HTTP 服务器功能外,Nginx 还支持 HTTPS、SSL/TLS、gzip 压缩、虚拟主机、URL 重写、负载均衡、缓存、HTTP/2 支持等。

4、配置简单:Nginx 的配置文件简洁明了,易于学习和使用。配置文件采用指令块的形式,支持丰富的变量和条件判断。

5、模块化设计:Nginx 的许多功能都是通过模块实现的,这些模块可以动态地加载和卸载,从而提供了高度的灵活性和可扩展性。

6、低内存消耗:Nginx 的内存占用非常低,这使得它能够在资源受限的环境中高效运行。

7、热部署:Nginx 支持在不中断服务的情况下升级和重新加载配置,这对于需要高可用性的生产环境尤为重要。

三、Nginx 的应用场景

  • 静态文件服务器:用于托管静态文件(如 HTML、CSS、JavaScript、图片等)。
  • 反向代理:作为后端服务器(如 Apache、Tomcat)的前端,接收客户端请求并转发给后端服务器,同时提供负载均衡和缓存功能。
  • 负载均衡器:将客户端请求分发到多个后端服务器上,以平衡负载并提高系统的整体性能。
  • HTTP 缓存:缓存静态内容以减少后端服务器的负载和响应时间。
  • 邮件代理服务器:作为 IMAP/POP3/SMTP 代理服务器,处理电子邮件的收发。

四、正向代理和反向代理

1、正向代理
如果用户直接访问谷歌服务器是访问不通的,如果想要访问到谷歌服务器需要加一台正向代理服务器,然后在客户端(浏览器)中配置代理服务器就行了。
正向代理.png

2、反向代理
客户端对代理服务器是无感知的,因为客户端不用任何配置就可以访问,只用将请求发送到反向代理服务器上,由反向代理服务器去选择目标服务器,获取数据后,再返回给客户端用,此时,反向代理服务器和目标服务器对外就是一台服务器,暴露的是代理服务器的地址,隐藏了真实服务器的地址。
反向代理.png

五、负载均衡

客户端将多个请求发送到服务器,服务器处理请求,有一些可能要与数据库交互服务器处理完成后,再将结果返回给客户端。如果所有的请求都在一台服务器上访问,效率会大大的降低,这个时候就用 负载均衡 将多个请求通过代理服务器转发给不同的服务器上。效率会提升。
负载均衡.png

六、动静分离

为了加快网站的解析速度,可以把动态的页面和静态的页面由不同的服务器解析,加快速度,降低原来单个服务器的压力。
动静分离.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
4月前
|
Web App开发 移动开发 前端开发
除了使用响应式布局,还有哪些方法可以适配H5页面在折叠屏上的显示?
除了使用响应式布局,还有哪些方法可以适配H5页面在折叠屏上的显示?
205 4
|
3月前
|
编解码 资源调度 物联网
正交时频空间(OTFS)调制技术:理论基础与性能分析
正交时频空间(OTFS)调制技术在延迟-多普勒域进行信号设计,有效应对高多普勒、短包传输等5G挑战。相比传统OFDM,OTFS通过全时频分集和信道硬化,显著提升高速移动场景下的鲁棒性与分集增益,仿真显示其在BLER性能上可获得3-4dB SNR增益,尤其适用于车联网、物联网等应用场景。
701 0
正交时频空间(OTFS)调制技术:理论基础与性能分析
|
4月前
|
SQL 算法 Java
适合自学的史上最强 Java 学习路线图分享
本路线图系统讲解Java从入门到进阶的学习路径,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架如Spring、数据库操作及项目实战,助你全面掌握Java开发技能,适合零基础及进阶学习。
930 0
|
前端开发 JavaScript vr&ar
WebGL
WebGL(Web Graphics Library)是一种用于在网页上渲染交互式 3D 和 2D 图形的 JavaScript API,它基于 OpenGL ES 2.0 标准,为开发者提供了一种在浏览器中创建高性能图形应用的途径
|
SQL 前端开发 JavaScript
基于java+springboot的外卖点餐网站、外卖点餐管理系统
该系统是基于java+springboot开发的外卖点餐网站、外卖点餐管理系统。是给师弟开发的课程作业。运行过程中的问题,可以在github咨询作者。
311 0
|
存储 API 调度
OpenStack核心组件Cinder
【8月更文挑战第4天】
728 9
|
人工智能 安全 前端开发
免费高效!3步实现Llama3模型远程访问与协作
Meta发布了全新的开源大语言模型Llama 3,LM Studio是一款免费的桌面端工具,支持一键安装和运行Llama 3模型,实现本地使用。LM Studio还提供了Local Server功能,便于集成AI功能。通过贝锐花生壳,可轻松实现LM Studio接口的远程访问,无需公网IP或端口映射。
979 1
|
监控 小程序 前端开发
排队免单小程序开发源码案例
“排队免单小程序”旨在通过用户排队行为结合特定规则为用户提供免单或优惠机会,提升用户体验及商家流量。核心功能包括用户注册登录、排队管理、免单规则设置、支付与结算、商家管理和通知提醒等。技术上采用微信小程序开发框架,前后端分离架构,集成微信支付等服务,确保高效安全的数据处理与传输。项目开发过程涵盖需求分析、设计开发、集成测试和上线发布,后期注重数据监控、用户反馈和运营推广,以持续优化用户体验。
|
安全 API 调度
异步编程中常见的问题和处理方式
【6月更文挑战第23天】在python中`asyncio` 提供PriorityQueue和LifoQueue,用于不同检索策略。异步编程需注意任务调度、错误处理和资源管理,以提高响应性和避免阻塞。
576 7
异步编程中常见的问题和处理方式
阿里云域名注册流程和备案流程(详细图文教程)
阿里云域名注册指南:访问[阿里云域名注册入口,查询并注册心仪域名,如.com/.cn,加入清单后结算。价格因后缀而异,如.com首年78元。创建信息模板进行实名认证,首次需上传资料。获取域名优惠口令并使用,详细步骤见文档。备案流程参照阿里云ICP备案系统。
17859 2