外国服务器,香港服务器,美国服务器,高防服务器,服务器租用,服务器托管
首页 > 新闻资讯 > 极客学院
Nginx的如何配置与使用
2019-01-04 23:23:32 | 来源:极客网络 | 作者:liuchuang

       本章主要介绍 Nginx的配置管理和使用。作为一个轻量级的HITP服务器, Nginx与 Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;在功能上, Nginx是优秀的代理服务器和负载均衡服务器;在安装配置上, Nginx安装简单、配置灵活。下面就详细介绍 Nginx的配置与使用。

       1.什么是 Nginx

       相信很多读者都对 Apache非常熟悉, Nginx与 Apache类似,也是款高性能的HIIP和反向代理服务器软件,还是一个IMAP/POP3SMTP代理服务器。 Nginx(发音是“ engine x”)由俄罗斯的程序设计师 Igor Sysoev开发(Igor将源代码以类BSD许可证的形式发布),可以运行在UNIX、GNU/ Linux、BSD、 Mac OS X、 Solaris以及 Micro-soft Windows等操作系统中。随着 Nginx在很多大型网站的广泛使用,其稳定、高效的特性逐渐被越来越多的用户认可。

       2.选择 Nginx的优势所在

       通过上面的简单介绍,可以看出, Nginx作为HTP服务器的优势是显而易见的,它有很多其他Web服务器无法比拟的性能和优势。

       作为Web服务器, Nginx处理静态文件、索引文件,自动索引的效率非常高。作为代理服务器, Nginx可以实现无缓存的反向代理加速,提高网站运行速度。

       作为负载均衡服务器, Nginx既可以在内部直接支持 Rails和PHP,也可以支持HITP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡。

       在性能方面, Nginx是专门为性能优化而开发的,在实现上非常注重效率。它采用内核Pol模型,可以支持更多的并发连接,最大可以支持对50000个并发连接数的响应,而且只占用很低的内存资源。

       在稳定性方面, Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低。 Nginx官方表示, Nginx保持10000个没有活动的连接,而这些连接只占用2.5MB内存,因此,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的。

       在高可用性方面, Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7×x24小时不间断地运行。

       3.Nginx的模块与工作原理

       Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个lo-cation block( location是 Nginx配置中的一个指令,用于URL匹配),而在这个 location中所配置的每个指令将会启动不同的模块去完成相应的工作。

       Nginx的模块从结构上分为核心模块、基础模块和第三方模块HTTP模块、EVENT模块和MAL模块等属于核心模块,HIPAccess模块、HTTPFASTCGII模块、HTTPProxy模块和HTTPRewrite模块属于基础模块,而HTTPUpstreamRequestHash模块、Notice模块和HTTPAccessKey模块属于第三方模块,用户根据自己的需要开发的模块都属于第三方模块。正是有了这么多模块的支撑, Nginx的功能才会如此强大。

       Nginx的模块从功能上分为如下三类。

       Handlers(处理器模块)。此类模块直接处理请求,并进行输出内容和修改 headers信息等操作。 Handlers处理器模块一般只能有一个。

       Filters(过滤器模块)。此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx输出。

       Proxies(代理类模块)。此类模块是Nginx的HTTPUpstream之类的模块,这些模块主要与后端一些服务比如 Fastcgi等进行交互,实现服务代理和负載均衡等功能。图1-1展示了 Nginx模块常规的HTP请求和响应的过程。

       在工作方式上, Nginx分为单工作进程和多工作进程两种模式。在单工作进程模式下,除主进程外,还有一个工作进程,工作进程是单线程的;在多工作进程模式下,每个工作进程包含多个线程。 Nginx默认为单工作进程模式。

       Nginx的模块直接被编译进 Nginx,因此属于静态编译方式。启动Nginx后, Nginx的模块被自动加载,不像 Apache,首先将模块编译为个so文件,然后在配置文件中指定是否进行加。在解析配置文件时, Nginx的每个模块都有可能去处理某个请求,但是同一个处理请求只能由一个模块来完成。

本文链接:http://www.gkidc.com/news/jkxy/201.html

所属栏目:极客学院

【本文由极客网络发布;内容来源于互联网或原创,转载联系作者并注明出处:投稿请发至邮箱 layton@zhi-yue.net 】

最新新闻

查看更多

相关新闻

查看更多

推荐优选服务器

国内外服务器租用、服务器托管,365天24小时极致服务体验~认准极客网络!
在线咨询
24H在线售后
11082052
24H服务热线
0769-88836624
IDC/ISP/IRCS/增值电信业务经营许可证号:粤B1-20190887
COPYRIGHT © 2010-2018 广东极客网络科技有限公司 版权所有.粤ICP备18157343号
极客网络提供:服务器租用,服务器托管,高防服务器,香港服务器,美国服务器,韩国服务器,日本服务器,台湾服务器,免备案服务器,bgp高防服务器,站群服务器,等外国服务器IDC服务;敬请放心选购!

在线
客服

客服
热线

0769-88836624
7*24小时服务热线

关注
微信

马上推出关注官方微信
顶部