nginx学习:Nginx初探

1.常见服务器产品介绍:

        Apache服务器(开源免费):

                优点:跨平台能力强,安全性能高,运行速度快,性能相对稳定。

                缺点:Apache在设计时使用以“进程”为基础架构,进程比线程消耗更多的系统开支,这导致Apache在多处理环境中性能有所下降。因此,在对一个Apache Web站点进行扩容时,通常是增加服务器或扩充集群节点而不是增加处理器;

        Microsoft IIS服务器(付费产品):

                优点:IIS和windows server 组合,可以提供可靠高效的完整的服务器解决方案。

                缺点:作为付费软件,部署成本高;

        Tomcat服务器(开源免费)

                优点:Servlet和JSP容器,作为轻量级应用服务器,在中小型系统和并发用户不是很多的情况下变现突出;体积小,安装和部署方便;

                缺点:无法满足复杂业务场景需求,可以处理静态html,但能力不如Apache服务器;

        Lighttpd服务器(开源轻量级):

                优点:专门针对高性能网站,提供了一套安全、快速、兼容性良好且灵活的Web Server环境,且内存开销低,CPU占用率低。

                缺点:与Apache等大型Web服务器软件相比,在在功能上存在不足和缺陷;

2.Nginx诞生:

        Nginx的诞生是为了解决俄罗斯访问量最大的Rambler.ru站点而开发的,是一款免费开源的高性能HTTP服务器及反向代理服务器,同事还提供了IMAP/POP3代理服务(POP3是收邮件的协议,SMTP是发邮件的协议,IMAP是一种邮箱通信协议。);

3.Nginx的功能特性:

        Nginx提供的基本服务功能大致可以分为三大类:

        1)Nginx提供基本HTTP服务,可以作为HTTP代理服务器和反向代理服务器,支持通过缓存加速访问,可以完成简单的负载均衡和容错,支持包过滤功能,支持SSL等;

            eg:处理静态文件(如html静态网页及请求);处理索引文件以及支持自动索引;

                   打开并自行管理文件描述符缓存

                   提供反向代理,并且可以使用缓存加速反向代理,同时完成简单负载均衡及容错;

                   提供远程FastCGI服务的缓存机制,加速访问,同时完成简单的负载均衡及容错;

                   使用Nginx的模块化特性提供过滤器功能。Nginx基本过滤器包括gzip压缩、ranges支持、chunked响应、XSLT、SSI以及图像缩放等功能;

                    支持HTTP下的安全套接层安全协议SSL

                    注:

FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。

        2)Nginx提供高级HTTP服务,可以进行自定义配置,支持虚拟机,支持URL重定向,支持网络监控,支持流媒体传输等。

                    支持基于名字和IP的虚拟主机设置。

                    支持HTTP/1.0中的KEEP-Alive模式和管线模型连接

                    支持重新加载配置以及在线升级时,无须中断正在处理的请求

                    自定义访问日志格式、带缓存的日志写操作以及快速日志转轮。

                    提供3xx-5xx错误代码重定向功能。

                    支持重写(Rewrite)模块拓展。

                    支持HTTP DAVM模块,从而为Http WebDAV提供PUT、DELETE、MKCOL 、COPY以及MOVE方法

                    支持FLV流和MP4流传输

                    支持网络监控,包括基于客户端IP地址和HTTP基本认证机制的访问控制、速度限制、来自同一地址的同时连接数或请求数限制等;

                    支持嵌入Perl语言

       3)Nginx作为邮件代理服务器最早开发这个产品的目的之一,支持IMAP/POP3代理服务功能,支持内部SMTP代理服务功能;

                    支持使用外部Http认证服务器重定向用户到IMAP/POP3后端,并支持IMAP认证方式IMAP和POP3认证方式。

                    支持使用外部HTTP认证服务器认证用户重定向连接到内部SMTP后端,并支持SMTP认证方式;

                    支持邮件代理下的安全套接层安全协议SSL;

                    支持纯文本通信协议的扩展协议STARTTLS;

    4.常用功能介绍:

               1)HTTP代理和反向代理

                            Nginx服务器转发前端请求性能稳定,并且后端转发与业务配置相互分离,配置相当灵活。

               2)负载均衡

                           一般包含两个含义:

                            1)将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样做可以大幅度提高网络系统的处理能力。

                            2)将大量的前端并发访问或数据流量分担到多个后端网络节点上分别处理,这样可以有效地减少前端的等待时间;WEB服务器、FTP服务器、企业关键应用服务器一般说的负载均衡主要是针对大量的前端访问和流量进行分流;

                Nginx负载均衡的策略可以划分为两大类:即内置策略和扩展策略;内置策略主要包括轮询、加权轮询、和IP hash三种。扩展策略主要通过第三方模块实现,常用的有url hash、fair等;

            轮询策略:将每个前端请求按顺序(时间顺序或者排列次序)逐一分配到不同的后端节点上,对于出现问题的后端节点自动排除。

            加权轮询:在基本的轮询策略上,指定后端各个节点被轮询到的几率。加权轮询策略主要用于后端节点性能不均的情况;

             IPhash 策略:是将前端的访问IP进行hash操作,根据hash结果将请求分配给不同的后端节点。每个前端访问IP会固定访问一个后端节点。这样做的好处是避免前端用户的session在后端多个节点上共享的问题;

            扩展策略中的url hash与IP hash相近,不同之处在于url hash是对前端请求的url进行了hash操作;url hash策略的优点在于,如果后端有缓存服务器,能够提高缓存效率,同时也解决了session问题;缺点是 如果后端节点出现异常,不能自动排除该节点。如果后端节点出现异常,经常导致nginx返回503错误;

            拓展中的第三方模块fair则是将前端请求转发到一个最近负载最小的后台节点,Nginx通过对后端节点的响应时间来判断负载情况;响应时间短的,节点负载相对就轻;

              3)web缓存:

                    web缓存服务器,作为网页服务的前置缓存服务器,在很多优秀的站点中,被用于缓存前端请求,从而提高web服务器的性能;

                    Nginx服务器的web缓存服务主要由Proxy_Cache相关指令集和FastCGI_Cache相关指令集结构。

                    Proxy_Cache主要用于在Nginx服务器提供反向代理服务时,对后端源服务器的返回内容进行URL缓存;

                    FastCGI_Cache主要用于对FastCGI的动态程序进行缓存。

                    还有一款常用的第三方模块ngx_cache_purge也是Nginx服务器Web缓存功能中经常用到的。主要用于清除Nginx服务器上指定的URL缓存;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值