Nginx-技术专题-入门教程

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":" Nginx是什么"},{"type":"text","text":":"},{"type":"codeinline","content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"Nginx是一个高性能的HTTP和反向代理web服务器。同时也提供了IMAP/POP3/SMTP服务。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       "},{"type":"text","marks":[{"type":"strong"}],"text":"Nginx的特点"},{"type":"text","text":":"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"开源、占内存少、轻量级、高性能(有报告表面nginx能支持高达 500000个并发连接数)、支持热部署。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       在正式介绍nginx之前,我们先来介绍几个相关的名词:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"正向代理、反向代理、负载均衡、动静分离"},{"type":"text","text":"。"}]},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"正向代理、反向代理"}]},{"type":"horizontalrule"},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       正向代理和反向代理的主要区别在代理的对象不一样:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"正向代理代理的对象是客户端;反向代理代理的对象是服务端。"}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       正向代理,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"代理的对象是客户端"},{"type":"text","text":"。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 顺着请求的方向进行代理。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"正向代理的过程,隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       A同学在大众创业、万众创新的大时代背景下开启他的创业之路,目前他遇到的最大的一个问题就是启动资金,于是他决定去找马云爸爸借钱,可想而知,最后碰一鼻子灰回来了,情急之下,他想到一个办法,找关系开后门,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然最后事成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,最后由王老师转交给A同学。这里的王老师在这个过程中扮演了一个非常关键的角色,就是代理,也可以说是正向代理,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"王老师代替A同学办这件事,这个过程中,真正借钱的人是谁,马云是不知道的,这点非常关键。"}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       反向代理,"},{"type":"text","marks":[{"type":"strong"}],"text":"代理的对象是服务端"},{"type":"text","text":"。"}]}]},{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":" 反向代理的过程,隐藏了真正的服务端。客户端不知道真正的服务端是谁。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       拨打10086客服电话,可能一个地区的10086客服有几个或者几十个,你永远都不需要关心在电话那头的是哪一个,叫什么,男的,还是女的,漂亮的还是帅气的,你都不关心,你关心的是你的问题能不能得到专业的解答,你只需要拨通了10086的总机号码,电话那头总会有人会回答你,只是有时慢有时快而已。那么这里的10086总机号码就是我们说的反向代理。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"客户不知道真正提供服务人的是谁"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}}],"text":" 所以,正向代理、反向代理咱们只要记住一点就好了,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"正向代理的对象是客户端;反向代理的对象是服务端"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}}],"text":"。正向代码服务端不知道客户端,隐藏的是客户端;反向代理客服端不知道服务端,隐藏的是服务端。"}]},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"负载均衡"}]},{"type":"horizontalrule"},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "},{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"负载均衡英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":" "},{"type":"text","marks":[{"type":"strong"}],"text":"负载均衡"},{"type":"text","text":"说白了就是单个服务器处理不过来了,通过增加服务器数量,把客户端的请求平均分布在不同的服务器上去处理,平衡工作量。一般在高并发场景下使用。"}]},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"动静分离"}]},{"type":"horizontalrule"},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":" 动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 将动态请求和静态请求区分访问。html、css、js属于静态资源;url请求、jsp、servlet属于动态资源。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#F5222D","name":"red"}},{"type":"strong"}],"text":"如何动静分离:把静态资源放在静态资源服务器上(Nginx服务器),动态资源部署在tomcat服务器上。 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理;如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转发给tomcat处理。"}]},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"Nginx安装"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"1.1 windows下nginx的安装"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1.1.1 nginx下载"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"        进入官网"},{"type":"link","attrs":{"href":"https://links.jianshu.com/go?to=http%3A%2F%2Fnginx.org%2Fen%2Fdownload.html","title":null},"content":[{"type":"text","text":"http://nginx.org/en/download.html"}]},{"type":"text","text":" 下载对应的稳定版本到本地(比如这里我们下载的是nginx-1.18.0.zip)。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/8c/8c5103774c5bae6537cae125dfd6464b.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1.1.2 nginx安装&启动"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       下载成功之后,解压下载的文件到指定目录。双击nginx.exe就启动了nginx。nginx默认监听的是80端口。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/08/08fe1e7b9a60ccc87b88edf5e7a6180e.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在浏览器里面输入 http://127.0.0.1:80 成功访问到nginx。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/79/79e1584a0e67beedf0db1e73c0e18042.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"1.2 linux下nginx安装"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1.2.1 nginx依赖安装"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"      安装nginx确认系统中正确安装了"},{"type":"text","marks":[{"type":"strong"}],"text":"gcc、pcre-devel、zlib-devel、openssl、openssl-devel"},{"type":"text","text":"。"}]},{"type":"codeblock","attrs":{"lang":null},"content":[{"type":"text","text":"# 查看是否安装了**gcc、pcre-devel、zlib-devel、openssl、openssl-devel**\nyum list installed | grep \"gcc\" # 判断是否按照了gcc\nyum list installed | grep \"pcre-devel\" # 判断是否按照了pcre-devel\nyum list installed | grep \"zlib-devel\" # 判断是否按照了zlib-devel\nyum list installed | grep \"openssl\" # 判断是否按照了openssl\nyum list installed | grep \"openssl-devel\" # 判断是否按照了openssl-devel\n# 哪个没有安装就相应的安装上\nyum -y install gcc pcre-devel zlib-devel openssl openssl-devel"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1.2.2 nginx下载"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"       进入官网下载对应系统的稳定版本。"},{"type":"link","attrs":{"href":"https://links.jianshu.com/go?to=http%3A%2F%2Fnginx.org%2Fen%2Fdownload.html","title":null},"content":[{"type":"text","text":"http://nginx.org/en/download.html"}]}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/89/893efa62e13635d953b5dead05761632.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章