为什么学习nginx

众所周知,nginx是一个开源而且高性能,可靠的HTTP中间件,代理服务。很多网站都使用nginx作为中间件,那么nginx有什么优势呢?

第一:采用IO多路复用epoll.多个描述符的I/O操作都能在一个线程内并发交替的顺序完成,这就叫做I/O多路复用,这里的复用指的是复用同一个线程。简单一点就是说,在操作系统中,如果一个应用程序需要访问一个文件系统资源,但是这个文件系统资源还没有就绪。那么等到这个文件系统资源就绪的时候,就会主动的上报操作系统。我已经准备就绪了,你可以来操作了。

第二:nginx在处理静态资源文件的时候是非常有优势的。主要是因为采用了sendfile的这种机制。

在原来中,如果我们需要去请求一个静态文件的时候,我们需要访问操作系统的内核空间和用户的工作空间,最终到达应用层。空间的切换需要消耗性能。如下图:

为什么学习nginx

而在nginx中,是采用下面的方式的,避免了用户空间和系统空间的来回切换,消耗性能。在nginx中,静态文件的传输只通过内核空间。

为什么学习nginx

第三:开源。可以根据实际的需要进行修改。

第四:.Nginx是一款高性能的HTTP和反向代理服务器,能够支持高达50000个并发连接数的响应,而内存、CPU等系统资源消耗却非常低、运行非常稳定。 

以上就是nginx的一些优势。