Nginx的作用和配置

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

1.背景介绍

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

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

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

2.知识剖析

正向代理和反向代理

正向代理:

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


反向代理:

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


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

3.常见问题

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

4.解决方案

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

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

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


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免费指导。快来与我一起学习吧。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 105,111评论 12 126
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    猿码架构阅读 71,846评论 22 334
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 29,239评论 23 986
  • Page 1:nginx 服务器安装及配置文件详解 CentOS 6.2 x86_64 安装 nginx 1.1 ...
    xiaojianxu阅读 6,967评论 1 41
  • 很多人站在暗礁的凸石上 自以为风景无限美好 怎会知往前一步便是粉身碎骨 多少个日夜的漂浮不定 换来的不过是轮回一瞥...
    叶洛知秋阅读 106评论 0 1