nginx.conf配置项
环境:centos7 nginx1.16.1
以下配置均在配置文件中进行:/etc/nginx/nginx.conf
1.设置工作进程的所有者和所属组
user 所有者 所属组;
设置后要在操作系统中设置该用户和用户组
/usr/sbin/groupadd www /usr/sbin/useradd -g www www
2. 网络连接事件模型设置
event{
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
worker_connections 1024; #每个工作进程的最大连接数,默认为512
use epoll; #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
}
3. 服务器返回文件的MIME类型设置
include mime.types; #引入的mime.types文件用来帮助http协议判断网页文件的MIME类型,该项作用域 http server
mime.types文件:文件扩展名与文件类型映射表 服务器根据mime.types文件,由网页文件扩展名得到其MIME类型,并加在响应头中发送给浏览器
default_type application/octet-stream #当文件类型未定义时,默认返回的MIME类型。作用域为 location http
注意:图片,音频,视频等文件要在html文件才能被浏览器展示和播放,但如果不设置default_type application/octet-stream 这一项,服务器直接返回MIME类型为
image/jpeg ,audio/mp4...的响应头,浏览器不会有任何动作,设置此类文件为二进制流后,浏览器接受到该响应头,会产生一个下载窗口,从而在客户端获取服务器文件
设置MIME类型为application/octet-stream(二进制流文件,浏览器打开会出现下载)
4. 客户端相关配置
client_max_body_size 10m; #客户端请求服务器时发送的请求主体最大容量。该配置项作用域http,server,location 。值为0,则不受限制
client_header_buffer_size 32k; #用于指定来自客户端请求头缓冲区大小,对于大多数请求,1KB的缓冲区大小已经足够,如果自定义了消息头或有更大的cookie,可以增加缓冲区大小。
large_client_header_buffers 4 64k; #设置客户端请求头的缓冲区的最大数目和大小。请求行不能超过一个缓冲区的大小,请求头字段也不能超过一个缓冲区的大小。缓冲区仅按需分配。
默认情况下,缓冲区大小等于8K字节。如果在请求处理结束后,连接转换为keep alive状态,则释放这些缓冲区。
client_body_temp_path filename [level1] [level2 ] [lever3 ]; #设定服务器用于存储客户端请求报body部分的临时存储路径及子目录结构和数量
level1:一级目录个数,1表示目录数不超过1位16进制数,故最大值为16
level2:二级目录个数,2表示目录数不超过2位16进制数,故最大值为16*16=256
level3:三级目录个数
client_body_buffer_size 32k; #设定服务器用于接收每个客户端请求报文的body部分的缓冲区大小;默认为16k;
5. 文件传输方式设置
sendfile on; #以sendfile方式传输文件,默认开启。作用域:http location server
指定是否使用sendfile系统调用来传输文件。sendfile系统调用在两个文件描述符之间直接传递数据(完全在内核中操作),
从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝。
- 调用read函数,文件数据拷贝到内核缓冲区
- read函数返回,数据从内核缓冲区拷贝到用户缓冲区
- 调用write/send函数,将数据从用户缓冲区拷贝到内核socket缓冲区
- 数据从内核socket缓冲区拷贝到协议引擎中
在这个过程当中,文件数据实际上是经过了四次拷贝操作:
硬盘—>内核缓冲区—>用户缓冲区—>内核socket缓冲区—>协议引擎
sendfile传输方式:
1. sendfile系统调用利用DMA引擎将文件数据拷贝到内核缓冲区,之后数据被拷贝到内核socket缓冲区中
2. DMA引擎将数据从内核socket缓冲区拷贝到协议引擎中
硬盘—>内核缓冲区—>内核socket缓冲区—>协议引擎
(1)客户端请求头超时时间
address 监听的主机,即web服务主机
default_server 该虚拟主机设定为默认虚拟主机
ssl 限制仅能够通过ssl连接提供服务,即只能以https访问
backlog=number 超过并发连接数后,新请求进入后援队列的长度
rcvbuf=size 接收缓冲区大小
sndbuf=size 发送缓冲区大小
nginx.conf配置项的更多相关文章
- CentOS下配置nginx conf/koi-win为同一文件的各类错误
今天配置CentOS6.5下安装Nginx + php7 + mysql5.7.15遇到了一些坑.本来家里的电脑在配置环境的时候没有问题,拿去公司的电脑上就是到处报错.不知道是不是人品问题.今晚在家重 ...
- Nginx的配置文件(nginx.conf)解析和领读官网
步骤一:vi nginx.conf配置文件,参考本博文的最下面总结,自行去设置 最后nginx.conf内容为 步骤二:每次修改了nginx.conf配置文件后,都要reload下. index.ht ...
- nginx系列 3 nginx.conf介绍(1)
一. nginx.conf 文件结构概述 在第一篇中讲到nginx的安装,安装完后,默认的nginx服务器配置文件都存在安装目录conf中,主配置文件名为nginx.conf.下面是我linux系统安 ...
- nginx作为web服务以及nginx.conf详解
Nginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.nginx简介 nginx是一个优秀的web服务程序.反向代理程序.它采用非 ...
- nginx重要配置项简要说明
1.重要配置项 以下是一个完整的nginx配置信息. #================================以下是全局配置项 #指定运行nginx的用户和用户组,默认情况下该选项关闭(关闭 ...
- nginx.conf的完整配置说明
#用户 用户组 user www www; #工作进程,根据硬件调整,有人说几核cpu,就配几个,我觉得可以多一点 worker_processes 5: #错误日志 error_log logs/e ...
- Nginx配置文件nginx.conf中文详解(转)
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- <nginx.conf> nginx用户权限
Nginx用户权限 在nginx.conf文件的第一行一般是设置用户的地方(编译安装nginx时的参数--user=<user>也是指定用户的地方),如 user www www; 如不指 ...
- nginx.conf中配置laravel框架站点
nginx.conf配置如下: user nginx nginx;worker_processes 4; error_log logs/error.log error; pid logs/nginx. ...
随机推荐
- c04--数组
0.展示PTA总分 1.本章学习内容总结 1.1学习内容总结 数组查找: 1.遍历法查找:从头遍历数组找对应数据. 2.二分法查找:适用于按顺序排列的整形数组. 插入数据: 先找到该数据,对数组进行移 ...
- 三个基于.net的浏览器内核使用的比较
最近做模拟登陆发帖相关的项目 分别尝试了基于IE .NET自带的 webbrowser 和 基于WebKit 的WebKit.NET和openWebkitSharp 最开始肯定是用的.NET自带的we ...
- kafka作为elk缓存使用
ELK集群在大规模的日志收集中面临着数据量大,收集不及时,或宕机的风险,可以选择单节点的redis,但是相比redis,kafka集群高可用的特性,更优,下面来配置kafka集群配置elk作为缓存的方 ...
- python项目文件夹
项目的文件夹 conf 用于存放配置文件的文件夹 core 核心业务代码 .py interface 接口, 接口内写获取数据前的逻辑代码,通过后才能获取数据 db 目前我们用于存放文件信息的 lib ...
- | C语言I作业03
| C语言I作业03 标签: 18软件 李煦亮 问题 答案 这个作业属于那个课程 C语言程序设计I 这个作业要求在哪里 https://edu.cnblogs.com 我在这个课程的目标是 学会和掌握 ...
- windowsServer-------- 系统中调出文件扩展名
Windows Server是微软发布的一系列服务器操作系统的品牌名. 各个品牌的发布日期 Windows Server 2003 (2003年4月) Windows Server 2003 R2(2 ...
- Oracle批量、大量Update方法总结
一.业务场景: (1)主从两个表,主表Student,有字段id.name.sex,从表Boy,有字段id.name,主从表同一对象id相同 (2)从表Boy的name属性被业务修改,定时批量处理主表 ...
- servlet是一组规范--Servlet是JavaEE规范的一种
Java Servlet API是Servlet容器和Servlet之间的接U,它定义了Servlet的各种方法, 还定义了Servlet容器传送给Servlet的对象类,其中最重要的是请求对象Ser ...
- Linux学习笔记之grep命令和使用正则表达式
0x00 正则表达式概述 正则表达式是描述一些字符串的模式,是由一些元字符和字符组成的字符串,而这些元字符是一些表示特殊意义的字符,即被正则表达式引擎表达的字符表示与其本意不同的一些字符. 0x01 ...
- 配置两个不同kerberos认证中心的集群间的互信
两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...