接下来我们来看一下 nginx 主要有哪些部分组成。这里我做了一个简单的类比,好比有一辆汽车,这个汽车提供了基本的驾驶功能,但是还需要一个驾驶员控制这辆汽车开往哪个方向,这个汽车经过的所有地方还会形成GPS轨迹。如果这个汽车出现了任何的事故,我们还需要一个黑匣子来分析,究竟是汽车本身出现了问题,还是说驾驶员的一些操作出现了问题。
那么 nginx 四个组成部分中,第一个就是nginx 的二进制可执行文件,这是由 nginx 本身的框架,它的官方模块,还有我们编译进去的各种第三方模块,一起构建的一个文件。这个文件就相当于汽车本身,它有完整的系统,所有的功能都由他提供。
那么第二个组成部分是 nginx.conf 这个配置文件,它相当于驾驶员,虽然我们的二进制可执行文件已经提供了许多功能,但这些功能究竟有没有开启,或者开启以后定义怎样的行为处理请求,都是由nginx.conf 这个配置文件决定的。所以它就相当于这个汽车的驾驶员,它控制着这个汽车的行为。
nginx的第三个组成部分叫做 access.log,访问日志,它相当于这辆汽车经过所有地方形成了GPS轨迹。access.log 会记录下每一条 nginx 处理过的http请求的请求信息与响应信息。
nginx 的第四个组成部分是 error.log 错误日志,它就相当于黑匣子一样,当出现了一些我们不可预期的问题时,可以通过 error.log 去把问题定位出来。
nginx 的二进制可执行文件,这四个部分是相辅相成的。nginx 的二进制可执行文件和 nginx.conf,它定义了 nginx 处理请求的方式。而如果我们想对我们的 web 服务做一些运营或者运维的分析需要对 access.log 做进一步的分析。而如果出现了任何未知的错误,或者预期的行为不一致时,我们应该通过 error.log 去定位根本性的问题。以上就是 nginx 的四个主要组成部分。