<一> Nginx基本认识以及作用

  1.  Nginx官网:http://nginx.org/
  2. Nginx 是由俄国人开发,一款支持Http请求高性能,轻量级Http服务器(engine x)/反向代理服务器,及电子邮件(IMAP/POP3)代理服务器。
  3.  Nginx作为一款Http服务器,意味这它是运行在服务器之上的,是可以绑定服务器的IP,并且可以监听TCP的端口,接受来自网络客户端(一般来说是IE, Firefox,Chrome这样的浏览  器)Http请求并且对Http请求做出响应,这样客户端就可以从Nginx服务器上获得HTML、文档、视频、音频等资源。这一过程如图:

但是得到的这些内容都是固定的----也就是说,无论是何时,何地,何人通过请求Ngnix服务器的资源得到的返回都是固定,完全一样的的,

这些资源我们称为静态资源,与之相反的是动态资源,即不同的人,请求服务器资源是得到不同的结果的,所以Nginx本身是不支持生成动态资源的。

轻量级,意味着这与其他的动态Http服务器(如Tomcat)相比,同样是启动Http服务器,Nginx占用的资源和内存更少。

高性能,是由于处理请求时是异步非阻塞的---也就是说,一个Ngnix线程可以处理多个Http请求连接,其他动态服务器一般是一个请求连接对应一个线程,例如Tomcat,

当请求一个Serlvet请求时,Tomcat会在线程池中在没有对应线程的情况下,初始化对应的线程来处理请求。所以对比起来,在高并发情况下,

Ngnix可以保持低资源低消耗高性能。这样,就Nginx作为Http服务器来说,它非常适合处理静态资源的请求,比如作为文件服务器,H5服务器。

4.   Nginx反向代理服务器,要理解Nginx作为反向代理服务器的作用以及其实际应用的场景,可以从代理服务器的作用和原理入手。代理服务器在整个客户端与服务器端请求

的流程如下图:

代理服务可以分为正向代理,反向代理。

正向代理的概念

正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,

但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,

告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录

有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

结论就是,正向代理 是一个位客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,

客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

反向代理的概念

例用户访问 http://www.test.com/readme,但www.test.com上并不存在readme页面,他是偷偷从另外一台服务器上取回来,

然后作为自己的内容返回用户,但用户并不知情。这里所提到的 www.test.com 这个域名对应的服务器就设置了反向代理功能。

结论就是,反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。

客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,

并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

[正反代理的理解内容,摘自:http://freeloda.blog.51cto.com/2033581/1288553]

这样,就Nginx作为反向代理服务器来说,由Nginx负责用户客户端的所有请求,然后把这些请求分发到原始的服务器上,

原始服务器只需专心执行计算,并且把计算结果返回到Nginx 由它返回给客户端,由于Nginx处理请求是异步非阻塞的,

所以相对于直接请求原始服务器的性能要大幅的提高。基于这点,可以使用Nginx做负载均衡。

转载于:https://www.cnblogs.com/hlw2/p/6722085.html

Nginx 学习--初级篇,Nginx 认识以及作用相关推荐

  1. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  2. Entity Framework 学习初级篇7--基本操作:增加、更新、删除、事务

    本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕.l 增加: 方法1:使用AddToXXX(xxx)方法:实例代码如下:using (var e ...

  3. nginx 学习笔记(1) nginx安装

    1.nginx安装 根据操作系统的不同,nginx的安装方式也不相同. 1.1 对linux系统来说,nginx.org提供了nginx安装包.http://nginx.org/en/linux_pa ...

  4. Nginx学习之六:Nginx配置操作导航

    为什么80%的码农都做不了架构师?>>>    从这里开始 Getting Started with Nginx An introduction to Nginx configura ...

  5. 【Nginx学习01】--Nginx的安装

    前言 nginx 在现如今服务器开发中扮演着越来越重要的作用. nginx的安装一般有yum方式从源中安装以及源码编译安装. 本例中我们采用的是yum方式从源中安装. 正文 1.从源中安装nginx, ...

  6. Nginx学习2:Nginx的安装配置和常用命令

    Nginx的安装.常用命令和配置文件 在Linux系统安装Nginx 我们使用虚拟机来完成在Linux系统安装Nginx的步骤,在这里我选择的是CentOS7的Linux系统, 1.到官网下载Ngin ...

  7. Nginx学习之五:Nginx第三方模块

    为什么80%的码农都做不了架构师?>>>    第三方模块 这些模块不被官方所支持,亦未必能跨越Nginx的版本兼容.不过其中有些模块证明是对多数用户是有用的.只在于个人的风险问题. ...

  8. nginx学习笔记(7)Nginx如何处理一个请求---转载

    如何防止处理未定义主机名的请求 基于域名和IP混合的虚拟主机 一个简单PHP站点配置 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在 ...

  9. nginx 学习笔记(5) nginx调试日志

    为启动一个调试日志,nginx需要在构建时配置城支持调试模式. ./configure --with-debug ... 而且调试级别应该使用err_log指令来设置: err_log /path/t ...

  10. nginx 学习笔记(3) nginx管理

    nginx可以通过向其发送信号来进行管理.默认情况下主进程的进程ID写到文件/usr/local/nginx/logs/nginx.pid中.当然也可以在配置文件中自定义该pid文件,自定义使用pid ...

最新文章

  1. 这个逆袭的新同事,也太牛逼了
  2. 使用Intellij IEDA创建hibernate
  3. ***测试之情报收集
  4. Hibernate常见问题集锦
  5. cls_template.php on line 1072,博客 – 联发多彩网页技术博客
  6. python 基础语法学习笔记(2019年4月第二周学习笔记)
  7. FTRL —— cross entropy 的导数
  8. 广东技能大赛软件测试项目,我校喜获2019年全国职业院校技能大赛软件测试赛项二等奖...
  9. 湖南师范大学计算机网络基础教学平台,基于网络的师徒式教学平台的设计与实现...
  10. Java 开发必看的 5个 Github 开源项目
  11. nurbs曲线拟合程序_一种基于NURBS的空间自由曲线拟合方法与流程
  12. 艾泰(UTT)WiFi短信验证:无线上网热点短信认证设置流程
  13. 实现收藏本站和设为首页功能
  14. IDEA如何从断点里获取对象所有数据(数据量很大且不好Ctrl+C)
  15. [艾兰岛]菜鸟用编辑器做传送门——kura酱长期更新
  16. Brat中文标注工具的使用
  17. python画五角星代码_Python使用turtule画五角星的方法
  18. Windows Phone7屏幕方向与常用控件
  19. UWB定位系统会存在定位误差吗?
  20. C语言实现简易扫雷游戏

热门文章

  1. python fun函数的功能是_python编程。假定输入字符串中只包含字母和*号,请编写函数fun,它的功能是将字符串中间的*号...
  2. zbrush 添加纹理贴图_ZBrush油泥粘土雕塑笔刷Digital Clay Pack
  3. 数据通信基础(面试必备)
  4. CentOS安装lynis安全漏洞扫描工具
  5. 代码行数越少就越“简单”吗?
  6. Hive排名函数入门
  7. c/c++_消除非标准警告
  8. 如何通过“限制管理权限”来保护您的企业?
  9. 超酷的 mip-infinitescroll 无限滚动(无限下拉)
  10. InnoDB与UUID