设为首页 加入收藏

TOP

Nginx深入:nginx功能模块、目录结构及配置文件详解(一)
2023-08-26 21:10:44 】 浏览:110
Tags:Nginx 深入 nginx 能模块 文件详

Nginx功能模块说明

1、Nginx 核心功能模块(Core functionality)
Nginx核心功能模块负责Nginx的全局应用,主要对应主配置文件的核心层(Main层)和事件(Events)层,这里有很多 Nginx 必需的全局参数配置。

有关核心功能模块的官方文档为:http://nginx.org/en/docs/ngx_core_module.html

2、标准的 HTTP 功能模块集合
这些标准的 HTTP 功能模块,虽然不是 Nginx 软件所必需的,但都是很常用的,因此绝大部分默认情况都会自动安装到 Nginx 软件中,见下表。保留软件的默认配置就好,不建议改动,除非你明确知道你在做什么,有什么额外影响。

企业场景常用的 Nginx HTTP 功能模块汇总

Nginx HTTP 功能模块 模块说明
ngx_http_core_module 包括一些核心的 HTTP 参数配置,对应 Nginx 的配置为 HTTP 区块部分
ngx_http_access_module 访问控制模块,用来控制网站用户对 Nginx 的访问
ngx_http_gzip_module 压缩模块,对 Nginx 返回的数据压缩,属于性能优化模块
ngx_http_fastcgi_module FastCGI 模块,和动态应用相关,如 PHP
ngx_http_proxy_module proxy 代理模块
ngx_http_upstream_module 负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查
ngx_http_rewrite_module URL 地址重写模块(伪静态)
ngx_http_limit_conn_module 限制用户并发连接数及请求数模块
ngx_http_limit_req_module 根据定义的 key 限制 Nginx 请求过程的速率
ngx_http_log_module 访问日志模块,以指定的格式记录 Nginx 客户访问日志等信息
ngx_http_auth_basic_module web 认证模块,设置 Web 用户通过账号索码访问 Nginx
ngx_http_ssl_module ssl模块,用于加密的 HTTP 连接,如 https
ngx_http_stub_status_module 记录 Nginx 基本访问状态信息等的模块

在生产环境中,配置、调整及优化 Nginx 软件,主要就是根据这此模块的功能修改相应的参数来实现的。

官方文档:https://nginx.org/en/docs/

Nginx目录结构及配置文件介绍

注:以下介绍基于源码编译安装的nginx

[root@web01 ~]# tree /app/nginx
/app/nginx
├── client_body_temp
├── conf                           #//nginx所有的配置文件的目录,重要
│   ├── fastcgi.conf               #fastcgi相关参数的配置文件
│   ├── fastcgi.conf.default          
│   ├── fastcgi_params             #fastcgi的参数文件
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types                 #媒体类型文件
│   ├── mime.types.default
│   ├── nginx.conf                 #nginx默认的主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params                #scgi相关参数文件
│   ├── scgi_params.default
│   ├── uwsgi_params               #uwsgi相关参数文件,配置Python环境可能会用到
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                   #//fastcgi临时数据目录
├── html                           #//这是编译安装时nginx的默认站点目录
│   ├── 50x.html                   #错误页面优雅替代显示文件,例如:出现 502 错误时会调用此页面
│   └── index.html                 #默认的首页文件,在实际环境中,大家习惯用(注意字眼不是必须)                                               index.html、index.php、index.jsp来做网站的首页文件。
├── logs                           #//nginx默认的日志存放目录,包括错误日志及访问日志
│   ├── access.log                 #访问日志
│   ├── error.log                  #错误日志
│   └── nginx.pid                  #nginx的pid文件,nginx进程启动后,会把所有进程的pid号写到此文件
├── proxy_temp                     #//临时目录
├── sbin                           #//命令目录
│   └── nginx                      #启动命令
├── scgi_temp
└── uwsgi_temp

# 注:
所有default结尾的都是备份文件,未注释的生产很少用,可以不必理会。
koi-utf、koi-win、win-utf:这3个文件是 KOI8-R 编码转换的映射文件,因为 Nginx 的作者是俄罗斯人,在 Unicode 流行之前,KOI8-R 是使用最为广泛的俄语编码。

PS:以yum官方源安装的nginx配置文件是在/etc/nginx下

[root@web02 ~]# tree /etc/nginx/
/etc/nginx/
├── conf.d
│   └── default.conf
├── default.d
├── fastcgi_params
├── mime.types
├── modules -> ../../usr/lib64/nginx/modules
├── nginx.conf
├── nginx.conf.rpmsave
├── scgi_params
└── uwsgi_params

Nginx的主配置文件

Nginx主配置文件nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号{}来表示开始与结束。配置文件中main区块(层)位于最上面,main层后面有Events层、http层等,在http层中又包含一个或多个server层,每个server层中又可有一个或多个location层。

nginx.conf是Nginx最重要的配置文件之一。必须搞定它。下面以yum官方源安装的nginx主配置文件为例详解。

[root@web02 ~]# grep -v '^$|#' /etc/nginx/nginx.conf
## 核心层(main层)
user  nginx;                    # nginx的启动用户         
worker_processes  auto;         # nginx运行的w
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇从read 系统调用到 C10M 问题 下一篇深入理解Linux内核——内存管理(..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目