(最近,部门组织了好几个技术兴趣小组,对当前的热门技术进行研究。我加入了Nginx学习小组,与几个同事一道围绕Nginx来进行研究和学习。从今天起,我会陆陆续续发一系列有关Nginx的学习总结。本文是系列之一:Nginx简介。)
一、Nginx概况
1.Nginx是Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。目前最新的版本是nginx-1.9.0(2015年4月28日发布)。
2.Nginx是一款高性能的HTTP和反向代理服务器,能够支持高达50000个并发连接数的响应,而内存、CPU等系统资源消耗却非常低、运行非常稳定。
3.国内使用Nginx的网站:新浪、网易、腾讯、CSDN、酷六、水木社区、豆瓣等。
4.Nginx的官网:http://nginx.org/。
注:反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
二、Nginx优势
1.支持高并发连接。
能够支持高达50000个并发连接数的响应。
2.内存消耗少。
在服务器3W并发连接下,开启10个Nginx进程消耗150MB内存。
3.成本低廉。
购买负载均衡交换机需要几十万RMB,而Nginx是开源的。
4.网络配置简单。
5.内置健康检查功能。
总之,Nginx在反向代理、rewrite规则、稳定性、静态文件处理、内存消耗等方面都表现出很强的优势。
三、Nginx下载
登录Nginx的官网(http://nginx.org/)即可下载最新的代码及编译好的软件版本。登录之后的主界面如图1所示。
图1 登录之后的主界面
单击如图1红色圈内的链接,出现如图2所示的软件及源代码下载界面。
图2 软件及源代码下载界面
其中,编号为1的红色圈内的链接用于下载Nginx的源码,编号为2的红色圈内的链接用于下载已编译好的基于Windows的Nginx可执行程序。
四、Nginx运行
将下载下来的基于Windows的Nginx可执行程序解压到D盘,如图3所示。
图3 Nginx可执行程序的解压
下面来运行Nginx。运行Nginx有两种方式,一种是直接双击图3中的“nginx.exe”,另一种是采用命令行的方式。我们采用第二种方式。
启动Nginx的命令为:start nginx。
查看Nginx进程的命令为:tasklist /fi “imagename eq nginx.exe”。
这两个命令的运行过程如图4所示。
图4 启动命令及查看命令的运行过程
从图4中,我们可以看到,Nginx启动了两个进程,其中一个是主进程,另一个是工作进程。
五、Nginx退出
主要有以下两个命令来退出Nginx:
nginx -s stop (快速退出)
nginx -s quit (优雅退出)
退出Nginx之后,再来查看Nginx进程,就会找不到。退出命令的运行过程如图5所示。
图5 退出命令的运行过程
六、Nginx源码工程概览
解压之前下载的源代码包,可以看到Nginx的代码工程布局如图6所示。
图6 Nginx的代码工程布局
在“src”目录下存放的是Nginx的主要源代码,其布局如图7所示。
图7 Nginx的主要源代码布局
七、Nginx配置文件说明
在“conf”目录下存放的是Nginx的主要配置文件,其布局如图8所示。
图8 Nginx的主要配置文件布局
其中,“nginx.conf”文件是Nginx的最最主要的配置文件,其包含的内容如图9所示。
图9 “nginx.conf”文件包含的内容
有关配置文件的使用方法,我们在此打个伏笔,在后面的文章中进行详细的说明。
八、Nginx源码分析工具
要想完全认识Nginx,对其源码进行分析是必做的功课。一般说来,Source Insight是一款较好的分析Nginx的源码的工具。用Source Insight打开Nginx工程代码的示意图如图10所示。
图10 用Source Insight打开Nginx工程代码的示意图
(To be continued…)
本人微信公众号:zhouzxi,请扫描以下二维码: