Nginx软件模块说明
Nginx软件模块说明
Nginx常用模块
注:以下只是列举Nginx常用模块,需要详细了解更多模块可以登录Nginx官方网站查看
| 功能模块 | 模块说明 |
| ngx_http_core_module | 包含一些核心的http参数配置,对应Nginx的配置为http区块部分 |
| ngx_http_access_module | 访问控制模块,用来控制网站用户对Nginx的访问 |
| ngx_http_gzip_module | 压缩模块,对返回的数据压缩,属于性能优化模块 |
| ngx_http_proxy_module | proxy代理模块 |
| ngx_http_upstram_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目录结构
可以使用tree /usr/local/nginx/查看,以下为简单列举,如果需要详细请查看Nginx官方网站文档信息
tree /usr/local/nginx/
|-- conf #这是nginx所有的配置文件的总目录
| |--fastcgi.conf #fastcgi相关参数配置文件
| |--fastcgi.conf.default #fastcgi.conf的原始备份
| |--fastcgi_params #fastcgi的参数文件
| |--nginx.conf #这是nginx默认的主配置文件
| |--nginx.conf.default #这是nginx默认的的原始备份
|--fastcgi_temp #fastcgi 临时数据目录
|--html #这是编译安装时nginx的默认站点目录,类似apache的默认站点htdocs目录
| |--50x.html #错误页面优雅代替显示文件,例如:出现502错误时,会调用此页面; #error_page 500 502 503 504 /50x.html
| |--index.html #默认的首页文件,在实际环境中,也可使用index.html、index.php、index.jsp,但是首页文件名字是在nginx.conf事先定义好了
|--logs #这是nginx默认的日志路径,包括错误日志及访问日志
| |--access.log #这是nginx默认的访问日志文件,使用tail -f access.log 可以实时查看网站用户访问情况信息
| |--error.log #这是nginx默认的错误日志文件,如果nginx出现启动故障等问题,一定得查看这个错误日志
| `--nginx.pid #nginx的pid文件,nginx进程启动后,会把所有的进程的ID号写到此文件
|-- proxy_temp #临时目录
|-- sbin #这是nginx命令的目录,如nginx的启动命令nginx
| `-- nginx #nginx的启动命令nginx
|-- scgi_temp #临时目录
`-- uwsgi_temp #临时目录
Nginx配置文件
Nginx的配置文件是一个纯文本文件,它一般位于Nginx安装目录的conf目录下,整个配置文件是以block的形式组织的。每个block一般以一个大括号“{}”来表示。block 可以分为几个层次,整个配置文件中Main命令位于最高层,在Main层下面可以有Events、 HTTP等层级,而在HTTP层中又包含Server层,即server block, serverblock中又可分为location层,并且一个server block中可以包含多个location block;main部分设置的命令将影响其他所有设置; server 部分的命令主要用于指定主机和端口; location 部分用于匹配网页位置;server继承main, location 继承server。
- main (全局设置)
- sever (主机设置)
- location(URL匹配特定位置的设置)
一个完整的Nginx配置文件框架如下图:

Nginx配置文件的核心架构
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
}
nginx.conf.default解析
[root@web01 conf]# egrep -v "#|^$" nginx.conf.default #去掉#和空行的内容
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
} #第二个location区块结束
} #第一个server区块结束
}#第一个http区块结束
注意:每行结束后除非是大括号{}结束,不然必须使用分号(;)结尾,否则会产生错误。
Nginx软件模块说明的更多相关文章
- Nginx软件部署配置过程
---恢复内容开始--- 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar ...
- Nginx软件优化【转】
转自 Nginx软件优化 - 惨绿少年 - 博客园 Nginx软件优化 - 惨绿少年 - 博客园 https://www.cnblogs.com/clsn/p/8484559.html 1.1 Ngi ...
- Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务
1. 背景 不知不觉笔者来到流媒体部门已经一年半多了,积攒了不少的流媒体知识,但平时工作也比较忙,很少进行总结性的梳理,最近准备花几个周末时间写一个流媒体系列的实践文章,也算是给自己做总结的同时帮助有 ...
- 基于Nginx dyups模块的站点动态上下线并实现简单服务治理
简介 今天主要讨论一下,对于分布式服务,站点如何平滑的上下线问题. 分布式服务 在分布式服务下,我们会用nginx做负载均衡, 业务站点访问某服务站点的时候, 统一走nginx, 然后nginx根据一 ...
- Nginx 切片模块、断点续传
熟悉 CDN 行业主流技术的朋友应该都比较清楚,虽然 Nginx 近几年发展的如日中天,但是基本上没有直接使用它自带的 proxy_cache 模块来做缓存的,原因有很多,例如下面几个: 不支持多盘 ...
- nginx事件模块分析(一)
nginx ngx_events_module模块分析 ngx_events_module模块是核心模块之一,它是其它所有事件模块的代理模块.nginx在启动时只与events模块打交道,而由even ...
- mac下Nginx+lua模块编译安装
Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...
- nginx添加模块 (非覆盖安装)
nginx添加模块(非覆盖安装) 原已经安装好的nginx,现在需要添加一个未被编译安装的模块: 查看原来编译时都带了哪些参数# /usr/local/nginx/sbin/nginx -V ngin ...
- centos下redis和nginx软件的安装
我们这章以redis和nginx软件为例,介绍一下centos下软件的安装. 需要软件包(可以先下载好复制到centos指定目录下,也可直接用wget命令获取): nginx-1.7.9.tar re ...
随机推荐
- IIS身份验证和文件操作权限(三、ASP.NET模拟)
一.配置ASP.NET模拟 注意:在配置[ASP.NET模拟]是还要配置[匿名身份验证]不知道为什么,有知道可以留言,互相学习 二.浏览站点 -- 操作文件 ①无操作权限 点击写入 ②有操作权限(特定 ...
- 2019杭电多校第三场hdu6609 Find the answer(线段树)
Find the answer 题目传送门 解题思路 要想变0的个数最少,显然是优先把大的变成0.所以离散化,建立一颗权值线段树,维护区间和与区间元素数量,假设至少减去k才能满足条件,查询大于等于k的 ...
- VSCode 中文乱码
方式一 vscode 菜单栏: 文件 >> 首选项 >> 设置 搜索: "files.autoGuessEncoding": false, 改为: &qu ...
- Kettle 中的循环
说道循环,小伙伴们肯定不陌生,就是重复干一件事:而kettle中的循环一般是发生在job中,因为job是串行执行的: kettle的循环有两种,一种是通过js脚本,另外一种是通过遍历前面步骤返回的每一 ...
- 深入研究js中的位运算及用法
什么是位运算? 位运算是在数字底层(即表示数字的 32 个数位)进行运算的.由于位运算是低级的运算操作,所以速度往往也是最快的(相对其它运算如加减乘除来说),并且借助位运算有时我们还能实现更简单的程序 ...
- 第一类和第二类Stirling数
做了老是忘…… 实际问题: 找维基百科.百度百科…… 第一类Stirling数 n个元素构成m个圆排列 S(n,m)=S(n-1,m-1)+(n-1)*S(n-1,m) 初始 S(0,0)=1 S(n ...
- bzoj1038题解
[题意分析] 求一个下凸壳与一段折线的距离. [解题思路] 先把直线按斜率排序,求出下凸壳,然后枚举所有的顶点的x坐标求最短y坐标差,复杂度O(nlog2n). [参考代码] #include < ...
- 2019hdu第二场
10:签到求n!取模 #include <iostream> #include <iterator> #include <algorithm> typedef lo ...
- python 远程执行命令
1.简单版 # coding: utf-8 import paramiko import re from time import sleep def ssh(): ssh = paramiko.SSH ...
- Delphi GDI对象之脱屏位图(Offscreen Bitmaps)
脱屏位图(Offscreen Bitmaps) 脱屏位图,也叫内存位图,普遍用于Windows程序设计中.它在内存中制作图像,然后利用Draw方法在屏幕上显示出来.当用户想更快的在屏幕上绘制图像时,脱 ...