发表于: 2018-01-05 09:15:36

1 496


今天完成的任务

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.更多讨论




遇到的问题

nginx没调好,小课堂没讲,明天下午早点讲


收获

昨天那个打war包缺少依赖jar包的问题,通过上传需要的jar包到服务器,先用mvn:install 命令把jar包部署到服务器本地仓库,然后打war包就成功了。


明天的计划


进度

http://task.ptteng.com/zentao/project-task-405.html


返回列表 返回列表
评论

    分享到