nginx学习
(写ctf的时候碰巧遇见了一个有关nginx的题,就顺便学习一下)
nginx简介
什么是nginx?
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
通俗理解
在实际开发的过程中,前期服务器的访问量较小的时候可以只使用一个tomcat就足够需求了。
但是tomcat的并发量大概在150-300之间,并发量一高服务器就会超载。
nginx就是一个解决这类问题的反向代理服务器。
nginx完全使用c语言写成,它的大小只有1mb左右。官方数据说最高可以支持50000个并发连接数的响应。
正向代理和反向代理
1.代理服务器
所谓代理服务器就