Nginx学习总结(1):Nginx简介

(最近,部门组织了好几个技术兴趣小组,对当前的热门技术进行研究。我加入了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,请扫描以下二维码:

时间: 2024-10-23 19:58:13

Nginx学习总结(1):Nginx简介的相关文章

Nginx学习笔记六Nginx的模块开发

1.Nginx配置文件主要组成:main(全局配置)这部分的指令将影响其他所有部分.server(虚拟主机配置)这部分指令主要用于指定虚拟主机域名,IP和端口.upstream(主要为反向代理,负载均衡相关配置)这部分指令用于设置反向代理及后端服务 器的负载均衡.location(目录匹配配置)这部分指令用于匹配网页位置(例如,根目录"/","/images",等 等). location部分会继承server部分的指令,而server部分会继承main部分的指令.

Nginx学习笔记(三) Nginx基本数据结构

话说学习一种编程语言,例如C语言,我们首先学的也是数据结构,这是以后开发程序的关键.为了更好更方便的开发Nginx,Nginx自己实现了很多适合nginx的数据结构. Nginx中的数组 ngx_array_s是Nginx中的数组,原型为ngx_array_t. typedef struct { void *elts; //指向数据的指针 ngx_uint_t nelts; //数组中元素的个数 size_t size; //数组中每个元素的大小 ngx_uint_t nalloc; //数据容

nginx学习总结五(nginx反向代理)_nginx

Nginx代理与负载均衡配置与优化 Nginx代理 Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存.两者的功能基本上一样. Nginx 0.8.32版本,proxy_cache和fastcgi_cache已经比较完善,加上第三方的ngx_cache_purge模块(用于清除指定

Nginx 学习笔记(二)Web 服务启用 HTTP/2

个人网站提升为HTTP2.0协议,加速访问 一.条件 1.openssl的版本必须在1.0.2e及以上 2.nginx的版本必须在1.9.5以上 二.编译安装 1.openssl 编译安装 (1)开始 wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2j.tar.gz tar zxvf openssl-1.0.2j.tar.gz cd openssl-1.0.2j ./config shared zli

Nginx学习笔记二基本配置

1.Nginx的配置文件默认在Nginx程序安装目录的conf二级目录下,主配置文件为nginx.conf.假设您的Nginx安装 在/usr/local/webserver/nginx/目录下,那么默认的主配置文件则为/usr/local/webserver/nginx/nginx.conf.2.Nginx配置参数:(1)user www www 指定使用的用户和用户所在的组(2)worker_processes 8 指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍,如两个四核CPU,

Nginx学习之负载均衡fair模块

写在开始 前面对Nginx的三种负载均衡实现做了一个简单的介绍,这里分享一个第三方的负载均衡模块nginx-upstream-fair. 模块介绍 The Nginx fair proxy balancer enhances the standard round-robin load balancer provided with Nginx so that it will track busy back end servers (e.g. Thin, Ebb, Mongrel) and bala

Nginx学习之安装篇

基于Linux的安装,本篇教程提供两种安装实现,尽管之前安装过很多次,但是这里还是做一个整理. YUM安装 优点:不用担心依赖关系.一键安装. 缺点:由于YUM源的问题.Nginx可能不是最新版本.安装路径不能自定义等问题. 检查版本 yum list nginx 安装 yum -y install nginx 配置路径 whereis nginx #相关配置路径 nginx: /usr/sbin/nginx /etc/nginx /usr/lib64/nginx /usr/share/ngin

nginx学习(1):编译、安装、启动

一.下载 从官网http://nginx.org/en/download.html 下载稳定版(目前最新稳定版是1.6.2) 二.解压 tar zxf nginx-1.6.2.tar.gzcd nginx-1.6.2 三.配置 ./configure --prefix=/opt/app/nginx/1.6.2 --user=cargo 注:prefix指定安装目录,user指定运行nginx的用户身份 通常第一次并不会顺利成功,如果出现: ./configure: error: the HTTP

【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

 1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx]# ps –ef | grep nginx [root@localhost nginx]# ps -ef | grep nginx root     21094     1  0 07:52 ?        00:00:00 nginx: master process ./nginx -c ngi