开发漫谈:BAT都在用的Nginx到底是啥?
如果你混迹IT圈儿,你可能听说过,或见过Nginx,IT技术人员对她都会有所耳闻,云计算工程师因为要应对负载均衡问题,需要更深入的了解Nginx,而Nginx也是百度、阿里、腾讯等企业IT架构中的常客。今天,笔者就与大家一起来探究一下,Nginx究竟是什么。
Nginx是什么?
根据维基百科的定义,Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP,HTTPS,SMTP,POP和IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。
其初始版本发于12年前(2004年10月4日),起初只是供俄罗斯大型门户网站及搜索引擎Rambler(Рамблер)使用,后再2011年俄罗斯Nginx公司获得300万美元风投,也在国内外获得了大量的追随者,国内的BAT、新浪、搜狐都有应用,国外的Facebook、TechCrunch、Groupon和WordPress等公司,也是Nginx的簇拥。
此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中均可运行。技术创始人为为Igor Sysoev。
特性如何
Nginx之所以能够受到世界各大互联网公司的青睐,当然是基于前面提过的在BSD-like协议下发行,更重要的还是Nginx拥有高性能的特点,主要体现在占用内存少,稳定性高等方面。
正因为这个特点,Nginx在四年前,就被某宝内部系统广泛使用。同时Nginx在处理并发服务能力方面十分优异,整体采用模块化设计,在处理负载均衡方面有着出色表现。根据Nginx的官方测试结果显示,Nginx可以支持五万个平行链接,而在实际运作中,可以支持2万至4万个平行链接。
架构如何
Nginx高性能的特点很大原因要归功于Nginx的架构与设计方式。当我们启动Nginx之后,会出现一个Master进程和多个Wocker进程,Master进程主要用来管理Wocker进程,放Wocker进程异常退出后,会自动重新启动新的Wocker进程。多个Wocker进程之间是对等的,同时也是相互独立的。
开发漫谈:BAT都在用的Nginx到底是啥?
另外,Nginx使用了最新的epoll和kqueue网络IO模型,这种模型在高并发的情况下,时间模型能够有更高的效率。与多线程相比,这种事件处理方式优势明显,能够不需要创建线程,每个请求占用的内存也很少,没有上下文切换,事件处理十分轻量级。
结束语
五年前,Nginx技术创始人做了家公司,冲击了微软IIS(互联网信息服务器Internet Information Server),如今,互联网在快速发展中,高并发、高负载情况愈加平常,Nginx依然焕发着自己的活力。
如果你混迹IT圈儿,你可能听说过,或见过Nginx,IT技术人员对她都会有所耳闻,云计算工程师因为要应对负载均衡问题,需要更深入的了解Nginx,而Nginx也是百度、阿里、腾讯等企业IT架构中的常客。今天,笔者就与大家一起来探究一下,Nginx究竟是什么。
本文转自d1net(转载)
写给Java开发看的 Docker 干货(零基础部署Nginx MySQL SpringBoot) Docker是当下使用最多的一种容器技术,想精通Docker并不容易,在公司生产中会有专门的运维人员负责。但是身为开发人员 ,适当的学习Docker是必要的。Docker的好处这里就不介绍了,网上一搜一大堆。 本篇将用最简短的篇幅介绍开发人员需要学习的Docker干货,你将学习到
7.3【微信小程序全栈开发课程】小程序上线--nginx安装、SSL证书安装 1、安装nginx nginx是一个强大的http服务器,作用是解析链接信息,告诉服务器客户端需要做什么 比如nginx收到了链接信息http://localhost:8000/hello/index.html,就告诉服务器客户端的要求–获取目录hello/index.html文件。服务器读取文件内容发送给浏览器
一对一直播app开发通过Nginx实现数据安全 如果发生用户信息泄露,这对用户来说,是有很大的安全隐患的,就算数据不会泄露,平台被恶意攻击也会影响用户体验,所以不管在哪方面来说,保证一对一直播app开发的数据安全,应当是重点。
相关文章
- Nginx教程(二) Nginx虚拟主机配置
- CVE-2019-11043 Nginx PHP 远程代码执行漏洞复现
- [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- Nginx开发从入门到精通
- Nginx: ngx_http_slice_module
- Nginx+lua学习
- Nginx配置SSL证书时——nginx:[emerg]unknowndirectivessl错误
- Nginx+Keepalived实现站点高可用
- nginx 中location和root
- LVS + Nginx 的架构模式
- 【nginx】配置Nginx实现负载均衡
- nginx日志切割(logrotate或shell脚本)
- Linux-025-Centos Nginx 代理配置:同一端口代理不同服务
- Nginx + PHP (FastCGI)搭建胜过Apache十倍的Web服务器
- 2023年Nginx常考点,Nginx的常用知识点
- Nginx配置文件nginx.conf中文详解
- 【nginx+lua高性能web应用开发(二):开发评论模块(ssi+mysql)】
- 【nginx+lua高性能web应用开发(一):环境搭建】
- Nginx模块说明
- Nginx服务配置文件介绍
- Nginx没有启动文件、nginx服务不支持chkconfig、nginx无法自启
- 解决Nginx重启时提示nginx: [emerg] bind() to 0.0.0.0:80错误