APP开发对于后台制作的相关知识,深圳APP开发公司-博纳网络在前面的文章中对相关的工具在Linux系统上应该如何使用以及部署做过详细介绍,本文我们主要说说App后台HTTP服务的利器Nginx。
Nginx是个高性能的HTTP和反同代理服务器.在BAT等巨头和众多的移动互联网公司中有广泛的应用。其王要特点是占用内存少,并发能力强。
Nginx简介
Nginx与Apache类似,其是个高}生能的HTTP和反同代理服务器访问量第二的Rambler.ru站点开发的,其已经在该站点运行超过三年也是个imap/pop3/smtp代理服务器。Nginx是由IgorSysoev为俄罗斯Igor将Nginx源代码以类似BSD许可证的形式发布。到目前为止,Nginx已经成为个非常流行的Web服务器在国内外有着众多的用户。各个Web服务器的使用情况如图5-l所示
APP开发使用Nginx图5-1各个Web服务器的使用情况
根据图5-1的统计结果,全球Top1000的网站中,有44.8%使用的是Nginx,全球Top10,000的网站中,有47.7%使用的是Nginx。
Nginx基本原理
下面讲述Nginx两方面的基本原理
·工作模型
·进程解析
1.工作模型
Nginx的高性能主要是其使用了epoll(使用于Linux内核26版本及以后的系统。在某些发行版本中如SuSE82,有让2.4版本的内核支持epoll的补丁)和kqueue(使用于FreeBSD4l_、OpenBSD29_、NetBSD20和MacOSX)网络I/O模型,而Apache则使用的是传统的select模型(注:Apache24版本后也使用了epoll网络I/O模型)。目前在Liuux下能够承受而并发访问的著名开源软件Squid 、MeⅢcached采用的都是epoll网络I/O模型。处理大量连续的读写请求,Apache所采用的select网络I/O模型是非常低效的。下面用个例子分析Apache采用的select模型和Nginx采用的epoll模型之间的区别。
在菜馆中,把服务员接待一个客人看成是处理一次请求,使用select模型的服务员是这样接待客人的:当客人入门,服务员就立刻引导客人入座,然后把菜单递给客人,等待客人点菜。客人点菜完毕后,服务员到厨房下单。当厨房把菜做好后,服务员送菜到客人的桌上,平时服务员就在桌子旁边招待客人。如果客人这时看电影,服务员也要守候在客人桌子旁边。最后等客人吃完饭结账后,送客人出门,服务员继续招待下一个客人。
使用epoll模型的服务员是这样接待客人的:当客人进门,门口有感应器通知服务员,服务人就引导客人入座然后招待其他客人。客人看完菜单准备点菜,客人呼唤服务员,服务员来到客人的桌上记下客人所点的菜,然后到厨房下单后继续招待其他客人。当服务员收到厨房通知菜做好了,服务员把菜送到客人桌后继续干其他工作。客人吃完饭了,客人呼唤服务员结账,服务员送客人出门后继续招待其他客人。
从上面的过程可看到,当处理大量的请求(相当于接待很多客人),epoll模型远远高效于select模型。由于页面篇幅关系,本文关于APP开发与Nginx的使用以及功能介绍暂时就分享到这里。深圳APP开发-博纳网络会在下期的文章中继续进行详细介绍。谢谢你关注。