在此之前,我们已经介绍过了Nginx的历史背景与功能与优点,作为一款功能强大的Web服务器,Nginx的学习并不简单。一种简单而行之有效的学习方法,便是抓住主要的,然后再慢慢往外梳理,从而建立响应的知识网络,今天我们从鸟瞰的角度,来看看Nginx的四大模块。

nginx都有什么模块(程序员入门Nginx太难)(1)

二进制模块

在Nginx中,我们可以编译出各种二进制,包括插件的二进制。就好比一辆汽车,Nginx的常规Web服务器功能是基础的配置,一些扩张的插件则是车上的空调、音响、倒车影像等等功能。像OpenResty就是一款非常流行的Nginx插件,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

配置文件模块

在一辆汽车上,我们想要开启哪些功能,空调要开多冷,音响要开多大,都是由操作人员自己决定,非常灵活,Nginx也是如此。

nginx都有什么模块(程序员入门Nginx太难)(2)

在Linux服务器上,我们一般可以在etc目录下找到Nginx的配置文件,如上图所示。user的含义是运行的用户,而worker_processes则是运行时的进程数。worker_connections则是运行时每一个进程的最大并发数,http则是作为反向代理服务器一些常见的功能配置。

Nginx的功能非常复杂,配置项也非常多,后面我们再来单独进行学习。

访问日志模块

access.log可以看做是一个汽车的行车记录仪,准确的说是是低配版的,只能记录下行车的轨迹。Nginx的access.log可以记录下来http服务器的访问轨迹,可以记录下每一次客户的访问,可以记录下用户的IP,用户访问的地址、返回的错误码、用户的UserAgent等等。开发与运维人员可以根据access.log的情况,简单统计出服务器的运行情况。

nginx都有什么模块(程序员入门Nginx太难)(3)

异常日志模块

不知道你有没有遇到过这样的问题,在线上重新启动一个JavaWeb服务,或者新建一个JavaWeb服务,但在浏览器中就是无法正常的访问,而在Java的日志中,又无法找到异常日志,下一次,不如查一查Nginx的异常日志,或许有意外的收获。程序在运行时总是伴随着各种异常,Nginx也是如此,我们可以在Nginx的Error.log中,找到对应的错误,并加以修复。

nginx都有什么模块(程序员入门Nginx太难)(4)

总结

Nginx的基本模块就是以上这些,后面我们还会逐个模块进行分析与讲解,欢迎大家关注我,整理后会和大家继续分享。大家的支持是我继续唠嗑的动力。同名公众号(沙茶敏碎碎念)

,