概述
<一> Nginx基本认识以及作用
- Nginx官网:http://nginx.org/
- Nginx 是由俄国人开发,一款支持Http请求高性能,轻量级Http服务器(engine x)/反向代理服务器,及电子邮件(IMAP/POP3)代理服务器。
- 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 认识以及作用的全部内容,希望文章能够帮你解决Nginx 学习--初级篇,Nginx 认识以及作用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复