nginx服务器的作用?【NGINX入门】3.Nginx的缓存服务器proxy_cache配置?( 五 )


Q5:web服务器 Nginx
(1)概念
Web服务器是一台使用HTTP协议与客户机浏览器进行信息交流(因此又称为HTTP服务器)、为互联网客户提供服务(信息浏览,下载资源等)的主机 。发展趋势:从HTML到XML、从有线到无线、从无声到有声
1.Linux是架设安全高效Web服务器的操作系统
架设Web服务器常见的操作系统:Windows、Linux、Unix 。Linux安全性能最高,可以支持多个硬件平台,可以根据不同需求随意修改、调整与复制各种程序的源码以及发布在互联网上,网络功能比较强大 。
2.目前主流服务器:Apache、 Nginx、 IIS
Unix/Linux操作系统下使用最广泛的免费HTTP服务器:Apache、Nginx 。Windows(NT/2000/2003)操作系统使用ⅡS,综合使用最多的Web服务器是 IIs、Apache 。
选择WEB服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等 。下面介绍目前最主流的三大web服务器:
① 大型
IIS:
微软的Internet Information Services (IIS),IIS 允许在互联网上发布信息,提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务 。IIS是一种Web服务组件,其中包括Web服务器(网页浏览)、FTP服务器(文件传输)、NNTP服务器(新闻服务)和SMTP服务器(邮件传输),使得在网络上发布信息很容易 。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新 。
Apache:
Apache是世界上用的最多的Web服务器,源于NCSAhttpd服务器的补丁(pache 补丁) 。它的成功之处主要在于:源代码开放、有开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)、可移植性 。
② 小型
nginx:
nginx的模块都是静态编译的,对fcgi的支持非常好,在处理链接的的方式上nginx支持epoll,支持通用语言接口(如:php、python、perl等),支持正向和反向代理、虚拟主机、url重写、压缩传输等 。
(2)工作原理
当客户端Web浏览器连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型) 。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用 。应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息(messaging) 。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术 。Web服务器的工作原理一般可分成如下4个步骤:
① 连接过程:是Web服务器和其浏览器之间所建立起来的一种连接 。查看连接过程是否实现,用户可以找到和打开socket这个虚拟文件,这个文件的建立意味着连接过程这一步骤已经成功建立 。
② 请求过程:是Web的浏览器运用socket这个文件向其服务器而提出各种请求 。
③ 应答过程:是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面 。
④ 关闭连接:是当上一个步骤--应答过程完成以后,Web服务器和其浏览器之间断开连接之过程 。Web服务器上述4个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个线程以及多个进程与多个线程相混合的技术 。
Web服务器可以解析HTTP协议 。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response) 。为了处理一个request,Web服务器可以response一个静态页面(HTML页面)或图片,进行页面跳转(redirect),或把动态响应委托给服务器端 。Web服务器的代理模型非常简单 。当一个request被送到Web服务器里来时,它只单纯的把request传递给可以很好的处理request的程序(服务器端脚本,如:CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript等) 。Web服务器仅仅提供一个可以执行服务器端程序和返回(程序所产生的)响应的环境,而不会超出职能范围 。服务器端程序功能通常有:事务处理、数据库连接、和消息等 。虽然Web服务器不支持事务处理或数据库连接池,但它可以配置各种策略来实现容错性、可扩展性(如:负载平衡、缓冲) 。集群特征经常被误认为仅仅是应用程序服务器专有的特征 。


推荐阅读