Nginx的作用和配置

大家好,我是IT修真院深圳分院第03期学员,一枚正直纯洁善良的程序员。今天给大家分享一下,修真院官网JAVA(职业)任务3的深度思考—— Nginx的作用是什么?

1.背景介绍

在传统的Web服务器体系结构中,每个客户端连接作为一个单独的进程或线程处理,随着网站的流行度增加,并发连接数量的增加,Web服务器减慢,延迟了对用户的响应。

从技术的角度来看,产生一个单独的进程/线程需要将CPU切换到新的任务并创建一个新的运行时上下文,消耗额外的内存和CPU时间,从而对性能产生负面影响。

Nginx开发的目标是实现10倍以上的性能,优化服务器资源的使用,同时也能够扩展和支持网站的动态增长。 因此,Nginx成为最知名的模块化,事件驱动,异步,单线程Web服务器和Web代理之一。

2.知识剖析

正向代理和反向代理

正向代理:

正向代理隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,某些科学上网工具扮演的就是典型的正向代理角色。


Nginx的作用和配置_第1张图片

反向代理:

反向代理隐藏了真实的服务器,当我们请求www.baidu.com的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体时间哪一台,我们不知道,也不需要知道,我们只需要知道反向代理服务器是谁就好了。反向代理服务器会帮我们把请求转发到真实的服务器那里去。


Nginx的作用和配置_第2张图片

正向代理代理的对象是客户端,反向代理代理的对象是服务器

3.常见问题

什么是HTTP Server(HTTP服务器),什么是Application Server(应用服务器)?

4.解决方案

Http Server又叫做Web Server,用于处理客户端对静态资源的请求或者用作反向代理将请求转发给Application Server,Nginx和Apache属于HTTP服务器;

Application Server 又叫做 Web应用容器,用于加载运行web应用,用来处理动态的请求,Tomcat、Jetty、Resin属于应用服务器。

图:标准的HTTP请求处理流程


Nginx的作用和配置_第3张图片

5.代码实战

详解nginx的配置文件

http

server

upstream

location(反向代理和静态文件伺服)

日志配置(可以不讲)

6.拓展思考

Nginx每个进程最多开起1024个线程,那么Nginx如何应对几十万、上百万的并发请求的?

7.参考文献

Nginx为Tomcat服务器作反向代理的配置教程http://www.jb51.net/article/81131.htm

Nginx开发从入门到精通http://tengine.taobao.org/book/chapter_02.html

Web服务器、Web容器、Application服务器的区别及联系https://www.cnblogs.com/vipyoumay/p/5853694.html

8.更多讨论

1、负载均衡策略里的fail方式是不是需要另外配置插件才能使用?

答:是的

2、通过配置权重值的方式进行负债均衡,是随机访问upstream节点配置的server,然后总的访问次数次基本上等于负债均衡的权重值?

答:是的




undefined_腾讯视频

PPT戳这里

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧。

你可能感兴趣的:(Nginx的作用和配置)