-
Notifications
You must be signed in to change notification settings - Fork 37
/
Copy path134-java-3.html
186 lines (160 loc) · 8.91 KB
/
134-java-3.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>葡萄藤PPT</title>
<link rel="stylesheet" href="./css/reveal/reveal.css">
<!-- PPT主题,可以在/css/reveal/theme/中选择其他主题,目前暂时只能使用该模板 -->
<link rel="stylesheet" href="./css/reveal/theme/ptt.css">
<!-- syntax highlighting 代码高亮主题 -->
<link rel="stylesheet" href="./lib/reveal/css/zenburn.css">
<!-- 打印和PDF输出样式 -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? './css/reveal/print/pdf.css' : '../css/reveal/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<img src="./img/demo/logo.png" alt="" usemap="#pttmap" class="base-logo">
<map name="pttmap">
<area shape="rect" coords="0,0,276,58" href="http://www.jnshu.com" alt="" target="_blank"/>
</map>
<div class="reveal">
<div class="slides">
<section>
<h2>小课堂</h2>
<h3>nginx服务器有什么作用?什么叫反向代理?为什么要使用反向代理?</h3>
<p>分享人:唐坤</p>
</section>
<section>
<p>1.背景介绍</p>
<p>2.知识剖析</p>
<p>3.常见问题</p>
<p>4.解决方案</p>
<p>5.编码实战</p>
<p>6.扩展思考</p>
<p>7.参考文献</p>
<p>8.更多讨论</p>
</section>
<section>
<h3>1.背景介绍 </h3>
</section>
<section>
<p>
<h3>什么是nginx</h3>
<p><h4>1.Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。因它的高性能的负载均衡器,缓存,稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的.</h4></p>中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。</h4></p>
</p>
<p>
</p>
</section>
<section>
<h3>2.知识剖析</h3>
</section>
<section>
<p>
<h3>代理服务器</h3>
</p>
<p>一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。 Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。</p>
</section>
<section>
<p>
<h3>正向代理</h3>
<p>2.2 正向代理
是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
</p>
</section>
<section>
<h3>反向代理</h3>
<p>反向代理
在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。在服务器端接受客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。</p>
</section>
<section>
<p>
<h3>反向代理的实现</h3>
<p>反向代理的实现 </p>
1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上 </p>
2)服务器返回自己的服务到负载均衡设备 </p>
3)负载均衡将服务器的服务返回用户
</p>
</section>
<section>
<h3>区别</h3>
<p>两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端。</p>
</section>
<section>
<h3>为什么使用反向代理</h3>
<p>1.便于服务器分布扩展。在实际中单个服务器处理客户端请求能力有一个极限,当请求量过大,则服务器忙不过来,因此使用多个服务器来共同分担用户的请求处理,这些服务器提供相同的服务,对于用户来说没有差别。那么就需要一个负载均衡设备来分发用户的请求到空闲的服务器上,然后服务器返回结果到负载均衡设备上,负载均衡再将其返回给用户。这样当增加/移除某台服务器时,只需要修改负载均衡的服务器列表,而不会影响服务。</p>
2.安全。避免ip和端口直接暴露在internet,使主机免于被开采安全漏洞,代理服务器数量有限,安全防护更方便。</p>
</section>
<section>
<a href="https://pic1.zhimg.com/v2-07ededff1d415c1fa2db3fd89378eda0_r.jpg" style="text-decoration:none">正向代理</a>
<a href="https://pic3.zhimg.com/50/v2-816f7595d80b7ef36bf958764a873cba_hd.jpg" style="text-decoration:none">反向代理</a>
<a href="https://pic4.zhimg.com/50/2582ac2a1366e3e12acf274265ea80f3_hd.jpg" style="text-decoration:none">灵魂画手</a>
</section>
<section>
<h3>5.编码实战</h3>
<p>配置nginx</p>
</section>
<section>
<h3>6.扩展思考</h3>
</section>
<section>
<p></p>
<P></P>
</section>
<section>
<h3>7.参考文献</h3>
<p>参考一:百度</p>
<p>参考二:小课堂</p>
<p>参考三:http://www.jianshu.com/p/a51f88921f34?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=qq</p>
<p>https://www.zhihu.com/question/32212996/answer/87524617?utm_medium=social&utm_source=qq</p>
</section>
<section>
<h3>8.更多讨论</h3>
<p>欢迎大家交流和讨论</p>
</section>
<section>
<h4>鸣谢</h4>
<p>感谢大家观看</p>
<p><small>BY : 唐坤</small></p>
</section>
</div>
</div>
<script src="./lib/reveal/js/head.min.js"></script>
<script src="./lib/reveal/reveal.js"></script>
<script>
// 以下为常见配置属性的默认值
// {
// controls: true, // 是否在右下角展示控制条
// progress: true, // 是否显示演示的进度条
// slideNumber: false, // 是否显示当前幻灯片的页数编号,也可以使用代码slideNumber: 'c / t' ,表示当前页/总页数。
// history: false, // 是否将每个幻灯片改变加入到浏览器的历史记录中去
// keyboard: true, // 是否启用键盘快捷键来导航
// overview: true, // 是否启用幻灯片的概览模式,可使用"Esc"或"o"键来切换概览模式
// center: true, // 是否将幻灯片垂直居中
// touch: true, // 是否在触屏设备上启用触摸滑动切换
// loop: false, // 是否循环演示
// rtl: false, // 是否将演示的方向变成RTL,即从右往左
// fragments: true, // 全局开启和关闭碎片。
// autoSlide: 0, // 两个幻灯片之间自动切换的时间间隔(毫秒),当设置成 0 的时候则禁止自动切换,该值可以被幻灯片上的 ` data-autoslide` 属性覆盖
// transition: 'default', // 切换过渡效果,有none/fade/slide/convex/concave/zoom
// transitionSpeed: 'default', // 过渡速度,default/fast/slow
// mouseWheel: true, //是否启用通过鼠标滚轮来切换幻灯片
// }
// 初始化幻灯片
Reveal.initialize({
history: true,
dependencies: [
{ src: './plugin/markdown/marked.js' },
{ src: './plugin/markdown/markdown.js' },
{ src: './plugin/notes/notes.js', async: true },
{ src: './plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>