闲不下来-nginx是什么?(一)

716 阅读4分钟

01.闲不下来-nginx是什么?

YEU8sE-01cRmH

小小调侃一波,鄙人前不久上班了,鄙人以为鄙人很忙,但发现,鄙人居然有时间解决自己从内心发散出来的需求...! 发散...

怎么说?时间不能就这样悄悄的流逝呀?我丢,居然还是一个有追求的程序猿;有梦想的码农;有幻想的...

突然发现,鄙人总是自嘲,自嘲能让自己变的稍微强大的那么一丢丢,让自己时常觉得,自己是个小小的废物。就如同时间老人悄悄的在我耳边告诉我:喂... ... ... 你的人生体验卡,还剩余xxx xxx xxx, 嗯,我瞟了一眼,这点x数,我还是知道的嘛。

任何一门技术的产生或者诞生,都需要了解其中的背景和所遇到的问题,这句话有问题吗?显然,没有问题。

为什么阅读nginx?

麻了,那还不是因为,标题都说了,还来问为什么,你是不是草率了。

嗯,看看这哥们的能力:

Nginx先天的事件驱动型设计、全异步的网络I/O处理机制、极少的进程间切换以及许多优化设计,都使得Nginx天生善于处理高并发压力下的互联网请求,同时Nginx降低了资源消耗,可以把服务器硬件资源“压榨”到极致。

你看了它,岂不是学会了操作系统的网络IO处理机制;岂不是学会了计算机网络http的各种小知识;岂不是掌握了如何处理高并发问题的解决方案和设计思路;岂不是学到了操作系统进程之间的优化;岂不是读完这个,还能读读redis的源码?好吧...

nginx是个啥?

不多说,我们先来看看Nginx的竞争对手——Apache、Lighttpd、Tomcat、 Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能:基于REST架构风格,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟通依据,通 过HTTP为浏览器等客户端程序提供各种网络服务。

你就说,你研究Java的,哪能不知道Tomcat?好家伙,使用频率最多的Springboot框架,还内置了Tomcat,你不会不知道把?但,它先天就是重量级的Web服务器,它的性能与Nginx没有可比性,这里咱不研究,咱研究的是nginx。

嗯,IIS只能在Windows操作系统上运行,咱也不研究。

Apache有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的 Web服务器。

就比如咱中国用户,指头都掰不过来的互联网人数...,Apache能遭得住不?我就怕,我们村的人同时访问,就会导致服务器上消耗大量内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能 Web服务器,这也促使了Lighttpd和Nginx的出现。

毫无疑问,Lighttpd和Nginx一样,都是轻量级、高性能的Web服务器,欧美的业界开发者比较钟爱 Lighttpd,而国内的公司更青睐Nginx,Lighttpd使用得比较少。

关键,nginx人家还开源,据我从知乎上观察,这哥们早期的代码大概有4万多行,易读,易理解,其中的设计思想能让我们啃啃,说不定对我们的解决问题的方案有较好的帮助,也说不定对我们接下来的xxx,也有很多帮助哈。

为什么选择nginx?

选它,自然有选它的理由,万物存在都有它存在的意义,鄙人又在那xbb了。

  1. 轻量级
  2. 快:反正比乌龟快,那是肯定的。
  3. 高可靠
  4. 易扩展
  5. 低内存消耗:一般情况下,10000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。
  6. 单机支持10万并发
  7. 热部署

我也时常玩玩nginx,但是没怎么想过它这么强,麻了。

小结

嗯,本节非常的短,短到鄙人想读小说了...

真狗,你开心就好...

由于本节较短,下一节马上撰写完毕,并分享给大家阅读...

鄙人也是百忙抽空谈自己的感受,好了,不说了。上班了...留下悲伤的眼泪。

参考