Web服务器之Nginx

Nginx

   Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务。

其特点是占有内存少,并发能力强。

如果我们在项目中用到了Nginx,那么可以用如下的示意图表示:

  

  在这样的一个架构当中,Nginx就被叫做负载均衡服务器或者是反向代理服务器,所有的请求首先会被Nginx给拦截到,然后再由Nginx根据之前配置好的转发规则来将客户端的请求转发到某一个tomcat上去。

  那么什么是负载均衡呢,什么又是反向代理呢,那么有没有正向代理呢?下面我来一一解释:

  • 正向代理

  所谓正向代理就是顺着代理的方向进行的代理,即代理服务器他是由你配置为你服务,去请求目标服务器地址。比如说我们要去访问谷歌,我们直接访问访问不了,那么我们就需要一 个代理服务器来为我们服务相当于中间商。我们可以通过代理服务器来请求谷歌,但是对于谷歌来说,它只知道有一个服务器访问了自己,并不知道你是通过代理服务器访问到的。这个也就是正向代理。

  • 反向代理

所谓反向代理,顾名思义和正向代理相反。正向代理中的代理服务器是为客户端服务的,而反向代理则是为目标服务器来服务的。

  比如说我们访问博客园,博客园的代理服务器对外的域名https://www.cnblogs.com。具体的内部服务器结点我们不知道。实际上,我们访问博客园的代理服务器之后,代理服务器给我们转发请求到他们的很多个服务器结点其中的一个然后将数据或者结果来给我们返回。

这个时候我们可以看出,反向代理中,反向代理服务器和网站其它的服务器是一个系统的,它们一起对外来提供服务,所以被称作反向代理。而正向代理则和网站服务器不是一个系统的。

  • 负载均衡

  负载均衡指的是由多台服务器以对称的方式组成一个服务器集合,每台服务器具有等价的地位都可以单独对外供应效力而无需其它服务器的辅助。经过某种负载分管技术,将外部发送过来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。

  可以这样来说,当一台服务器的单位时间内的访问量越大的时候,服务器的压力就会越大,大到超越自身能力的时候服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,通过负载均衡的方式来分担服务器的压力。

  我们可以建立很多个服务器,从而来组成一个服务器集群,当用户访问网站的时候,先访问一个中间服务器,在让中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问的请求引入该服务器。如此以来,用户的每一次访问都会保证服务器集群中的每一个服务器压力趋向于平衡,分担了服务器的压力,避免了服务器崩溃的情况。

原文地址:https://www.cnblogs.com/ybxfighting/p/11632718.html

时间: 2024-12-23 23:24:29

Web服务器之Nginx的相关文章

搭建高性能web服务器之Nginx入门介绍(1.2)

前面为讲到Nginx的起源,那么这么优秀的web server有哪些特点呢,众多web server中Nginx有什么特点呢,下面我们来讲到Nginx的特点. 1.2Nginx有哪些特点? (1)更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应:另一方面,在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求. (2)高扩展性 Nginx的设计极具扩展性,它完全是由多个不同功能.不同层次.不同类型且耦合度极低的模块组成.因此,当对某一个模块修复B

【转】Web服务器之Nginx详解(理论部分)

大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O模型的具体实现 八.Apache 的工作模式 九.支持高并发的Web服务器 十.Nginx 详解 一.前言 注,在说Web服务器之前,先说说线程.进程.以及并发连接数. 1.进程与线程 进程是具有一定独立功能的程序,关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.从逻辑

web服务器之nginx和apache的区别

① apache属于重量级的服务器,nginx属于轻量级的服务器; 区别在于对一些功能的支持,比如:  pathinfo,php模块方面 ② nginx抗高并发能力强. 由于nginx采用的是异步非阻塞模式,而apache是阻塞模式; ③ nginx采用的是异步固定进程,而apache是同步多进程,一个连接对应一个进程; ④ nginx适合处理静态资源和反向代理,apache适合处理动态资源; ⑤ apache的重写模块比nginx要强大; ⑥ nginx支持平滑操作,在线升级; 扩展:常见的w

搭建高性能web服务器之Nginx安装与配置(2.3)

<上一章节介绍了如何获取Nginx以及如何配置.编译.安装运行Nginx.但是很多情况下我们是根据需要来编译Nginx,这里不得不说道nginx的./configure相关参数> 一 Nginx的./configure编译参数说明介绍 可以看出,configure命令至关重要,比如根据自己需要选择性的安装nginx是很有必要的,下文将详细介绍如何使用configure命令使用方法. 我们在解压了nginx的源码后,进入到nginx的源码目录使用"./configure --help&

搭建高性能web服务器之Nginx安装与配置(2.7)

本章将介绍了Nginx的工作原理 在正式运营环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,worker进程的数量与服务器上的CPU核心数相等.每一个worker进程都是繁忙的,它们在真正地提供互联网服务,master进程则很"清闲",只负责监控管理worker进程.worker进程之间通过共享内存.原子操作等一些进程间通信机制来实现负载均衡等功能 Nginx是支持单进程(master进程)提供服务的,那么为什么运营环境下要按照master-

搭建高性能web服务器之Nginx入门介绍(1.1)

<第1章研究Nginx前的准备工作,本章介绍了Nginx的特点以及在什么场景下需要使用Nginx,同时介绍了如何获取Nginx以及如何配置.编译.安装运行Nginx.本章还深入介绍了最为复杂的configure过程,这部分内容是学习本书第二部分和第三部分的基础.本节为大家介绍Nginx是什么>. 1.Nginx是什么,Nginx能帮我们做什么 2012年,Nginx荣获年度云计算开发奖(2012 Cloud Award for Developer of the Year),并成长为世界第二大W

搭建高性能web服务器之Nginx安装与配置(2.8)

优雅关闭上一小节,我们讲到了关于nginx是如何工作的,本小节我们将讲到关于nginx主配置文件(nginx.conf)相关的配置语法进行相关说明 1.用于调试进程和定位问题的配置项 1.1关于nginx的守护进程 语法:daemon on | off; 是否以守护进程运行nginx   默认值:daemon on; 守护进程(daemon)是脱离终端并且在后台运行的进程.它脱离终端是为了避免进程执行过程中的信息在任何终端上显示,这样一来,进程也不会被任何终端所产生的信息所打断.Nginx毫无疑

搭建高性能web服务器之Nginx安装与配置说明(2.2)

<本章节介绍了如何获取Nginx以及如何配置.编译.安装运行Nginx.深入介绍了最为复杂的configure过程,以及编译Nginx相关参数的介绍> 上一章节,我们简单的了解Nginx安装前需要准备的依赖包以及先关系统内核优化参数,本章节我们就着实讲到nginx的安装过程,比如nginx安装的一些参数说明,安装过程中遇到的一些问题 一.源码安装nginx 1.1下载nginx源码包  我们可以在Nginx官方网站(http://nginx.org/en/download.html)获取Ngi

WEB服务器之——Nginx支持CGI

安装NGINX步骤省略. 以下操作均在su下完成 ====================================================================== 安装perl略.(yum -y install perl*) 开启perl-FCGI支持 perl -MCPAN -e 'install FCGI' perl -MCPAN -e 'install FCGI::ProcManager 配置perl-fcgi守护进程perl-fcgi.pl存放于nginx/s