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.org/en/docs/可以查看到上述及更多模块的详细使用帮助。

常用的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连接,如htts
ngx_http_stub_status_module 记录Nginx基本访问状态信息等的模块

nginx的目录结构说明

[root@nginx ~]# tree /application/nginx/  #如果tree命令找不到需要yum install -y tree安装;
/application/nginx/
├── client_body_temp
├── conf                #这是nginx所有配置文件的目录;
│ ├── fastcgi.conf          #fastcgi相关参数的配置文件;
│ ├── fastcgi.conf.default    #fastcgi.conf的备份文件;
│ ├── fastcgi_params        #fastcgi的参数文件;
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types            #mime媒体类型;
│ ├── mime.types.default
│ ├── nginx.conf          #nginx默认的主配置文件;
│ ├── nginx.conf.default
│ ├── scgi_params          #scgi相关参数文件;
│ ├── scgi_params.default
│ ├── uwsgi_params            #uwsgi相关参数文件;
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp            #fastcgi临时数据目录;  
├── html              #编译安装时nginx的默认站点目;
│ ├── 50x.html          #错误页面优雅替代显示文件,例如出现502错误时会调用此页面;
│ └── index.html          #默认的首页文件;
├── logs                #nginx默认的日志路径,报错错误日志及访问日志;
│ ├── access.log          #nginx默认的访问日志文件;
│ ├── error.log          #nginx的错误日志文件;
│ └── nginx.pid          #nginx的pid文件,nginx进程启动后,会把所有进程的ID号写入此文件;
├── proxy_temp          #临时目录;
├── sbin              #nginx的命令目录,例如nginx的启动命令nginx;
│ └── nginx          #nginx的启动命令nginx;
├── scgi_temp        #临时目录;
└── uwsgi_temp        #临时目录; 9 directories, 21 files

nginx的主配置文件 nginx.conf

nginx的主配置文件位于nginx安装目录下的conf目录中。

[root@nginx nginx]# egrep -v "#|^$" conf/nginx.conf        #去掉包含#号和空行的内容;
worker_processes 1; #worker进程的数量;
events { #事件区块开始;
worker_connections 1024; #每个worker进程支持的最大链接数;
} #事件区块结束;
http { #http区块开始;
include mime.types; #nginx支持的媒体类型文件;
default_type application/octet-stream; #默认的媒体类型;
sendfile on; #开启高效传输模式;
keepalive_timeout 65; #连接超时;
server { #第一个Server区块开始,表示一个独立的虚拟主机站点;
listen 80; #提供服务的端口默认80;
server_name localhost; #提供服务的域名主机名;
location / { #第一个location区块开始;
root html; #站点的根目录,相当于nginx的安装目录;
index index.html index.htm; #默认的首页文件,多个使用空格分开;
} #第一个location区块结束;
error_page 500 502 503 504 /50x.html; #出现对应的http状态码时,使用50x.html会回应客户;
location = /50x.html { #location区块开始,访问50x.html;
root html; #指定对应的站点目录为html;
}
}
} #http区块结束;

nginx目录结构和配置文件的更多相关文章

  1. Nginx目录结构与配置文件详解

    Nginx安装 具体安装nginx请移步:[nginx部署] 安装依赖 安装pcre依赖软件 [root@ubuntu ~]# yum install -y pcre pcre-devel //外网情 ...

  2. Nginx安装,目录结构与配置文件详解

    1.Nginx简介 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设 ...

  3. Nginx 目录结构

    Nginx 目录结构 Nginx 安装后整体的目录结构及文件功能如下: [root@localhost ~]# tree /usr/local/nginx /usr/local/nginx ├── c ...

  4. Nginx 目录结构、Nginx服务控制命令

    # Nginx目录结构 # 首先推荐一个查看目录结构的工具 tree # yum install -y tree # sudo apt-get install -y tree ubuntu # 查看n ...

  5. 【Nginx(二)】Nginx目录结构和常用的命令以及核心配置文件

    Nginx的目录结构: 默认的安装路径 : /usr/local/nginx 安装完成后,Nginx的目录结构如下: conf:   #所有配置文件的目录 nginx.conf  #默认的主要配置文件 ...

  6. grape动态PHP结构(一)——目录结构与配置文件

    一.结构介绍 结构的名字grape,中文名叫葡萄,因为最近一个同事经常带葡萄到公司给我们吃,受到启发想到了这个名字. 1)本结构需要在PHP5.5中运行,如果要在5.4中运行,有些地方就要做些修改 2 ...

  7. cmd项目目录结构以及配置文件的升级编写

    一.项目的目录结构: bin:执行文件夹 config:自定义配置文件 lib:公共的模块或者类文件 src:核心业务逻辑代码 二.配置文件的编写 1)config代码如下 from lib.conf ...

  8. Tomcat的目录结构和配置文件详解

    本文转载: https://www.zybuluo.com/1234567890/note/515235 参考帖子: Tomcat(一):基础配置详解 Tomcat服务器中配置多个域名,访问不同的we ...

  9. 【Maven】安装配置、目录结构、配置文件、常见命令

    1.下载配置maven步骤 a.windows下配置jdk的系统环境变量:java_home b.windows下配置maven的系统环境变量:maven_home或者m2_home c.window ...

随机推荐

  1. 关于 prototype与__proto__ (用到的时候再看一次 加深理解)

    链接顺序: 1. https://blog.csdn.net/ligang2585116/article/details/53522741 2.https://www.jianshu.com/p/80 ...

  2. linux mysql乱码问题

    mysql,发现都是乱码,一堆问号,如下图: 查看mysql编码 需要修改mysql编码,打开/etc/my.cnf 文件 在下边添加如下行 [client] default_character_se ...

  3. OSPF-1-OSPF的数据库交换(4)

    4.DD交换:主/从关系   当两台路由器之间形成了邻居关系后(ExStart),邻居双方需要决定在数据库交换的过程中,哪台路由器的角色是主,哪台路由器的角色是从.主和从这两个角色决定了DD包交换过程 ...

  4. OSPF-1-OSPF的数据库交换(1)

    一.OSPF路由器ID(RID) 选举过程: 1.使用router-id id 命令中配置的路由器ID 2.up着的环回接口最大的ip 3.up着的非环回接口最大ip   如果路由器的RID发生了变化 ...

  5. [題解](狀壓/水)luogu_P1879玉米田

    大水題然而因為智障的錯誤调了半天......n,m别反着输入啊......內外循環和狀態數都不等價 别的就是記錄一下每一行不可行的點,也狀壓一下,dp的時候判一下即可 #include<bits ...

  6. Zynq7000开发系列-2(VMware与Ubuntu安装使用)

    一.前言 在嵌入式开发中,是无法避免使用Linux系统的,因为在开发之前必须先搭建起交叉编译环境,而后关于Bootloader.Linux Kernel的裁剪移植,File system的制作,底层驱 ...

  7. GYM 101889E(dp)

    dp[i][j][k]表示第i位填数字k时,与后面的相连模数为j时,后面的数字最小填多少. 测得我提心吊胆还以为复杂度高了,结果出来46ms还是cf评测姬强啊. #pragma comment(lin ...

  8. bzoj2740 串 && bzoj2176 strange string(最小表示法模板)

    https://konnyakuxzy.github.io/BZPRO/JudgeOnline/2740.html 题解讲的很清楚了 (好像等于的情况应该归入case2而不是case1?并不确定) 具 ...

  9. eShopOnContainers 是一个基于微服务的.NET Core示例框架

    找到一个好的示例框架很难,但不是不可能.大多数是小型Todo风格的应用程序,通常基于SimpleCRUD.值得庆幸的是,Microsoft已经为eShopOnContainers创建了一个基于微服务的 ...

  10. 禁用和关闭ECSHOP缓存

    ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度. 但是启用缓存机制,对一些新手站长也有不利的地方.我就遇到很多新手站长经常问,我 ...