【04】Nginx的配置文件介绍二

Nginx的配置三

1.1 长连接配置

什么叫长连接?
当客户端与服务器连接后,如果没有任何动作,那么服务器会有个断开机制,长连接就是设置这段时间的长短

keepalive_timeout number;
# 这个是设定保持连接超时时长,单位是秒,0 表示禁止长连接,默认为75s
# 
# 还有个相关配置,配置在长连接中允许请求的资源最大数量,默认为100
#
keepalive_requests number;


我们试一试

        keepalive_timeout 30 35; # 30是实际值,显示值为35
        keepalive_requests 3;
#############################################


[root@localhost@conf]->curl -I www.flamenca.net
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Thu, 12 Nov 2020 09:18:08 GMT
Content-Type: text/html
Content-Length: 13
Last-Modified: Tue, 10 Nov 2020 14:08:15 GMT
Connection: keep-alive
Keep-Alive: timeout=35 # 注意这里显示的时间是35
ETag: "5faa9ecf-d"
Accept-Ranges: bytes

#
# 如果设置为0,会关闭会话保持功能
# 浏览器会收到下面的报文
Connection:close

1.2 作为下载服务器时的设置

# 在配置文件中新增一个location
location /download {
		autoindex	on;	
		# 自动索引功能
		autoindex_exact_size	on;
		# 自动计算文件大小(单位bytes),设置为off的时候只显示大概大小
		autoindex_localtime	on;
		# 显示本机时间为本机时间,默认为GMT时间
		root	/data/nginx/html/pc;
}
#
# 建立download文件夹
[root@localhost@conf]->mkdir /data/nginx/html/pc/download -p
# 考个文件进去
[root@localhost@conf]->cp /root/anaconda-ks.cfg /data/nginx/html/pc/download/
#
# reload nginx
#
# 测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjjsaWge-1605175370114)(06 Nginx的配置三.assets/image-20201112173507917.png)]

下载服务器还可以有其他设置

limit_rate rate;
# 限制客户端的下载网速
# 例
limit_rate 10k;

1.3 作为上传服务器设置

待填坑

1.4 其他设置

keepalive_disable none | browser ...;
# 对选择的浏览器禁用长连接
#
limit_except method ... {...}
# 仅仅用于location内
# 来限制客户端的请求方法
#
# 例
method:GET,HEAD,POST,PUT,DELETE,MKCOL,COPY,MOVE,OPTIONS,PROPFIND,PROPPATCH,LOCK,UNLOCK,PATCH
limit_except GET {
	# 只允许设定的网段IP使用GET方法
    allow 192.168.0.0/24;
    allow 192.168.33.3;
    deny all;
}

#
#
aio on | off
# 是否启用异步IO
#
# linux 2.6 以上内核提供以下几个系统调用来支持aio:
# SYS_io_setup:建立aio 的context
# SYS_io_submit: 提交I/O操作请求
# SYS_io_getevents:获取已完成的I/O事件
# SYS_io_cancel:取消I/O操作请求
# SYS_io_destroy:毁销aio的context

#
#
directio size | off
# 启用直接IO
# 默认为关闭,当设定指定大小时,会将数据立即写入磁盘而非放入缓存中

# nginx 缓存相关
open_file_cache off;
open_file_cache max=N [inactive=time];
# nginx可以缓存以下三种信息:
#	(1) 文件元数据:文件的描述符、文件大小和最近一次的修改时间
#	(2) 打开的目录结构
#	(3) 没有找到的或者没有权限访问的文件的相关信息
# max=N:可缓存的缓存项上限数量;达到上限后会使用LRU(Least recently used,最近最少使用)算法实现管理
# inactive=time:缓存项的非活动时长,在此处指定的时长内未被命中的或命中的次数少于
#
#
open_file_cache_min_uses number;
# 该指令所指定的次数的缓存项即为非活动项,将被删除
# open_file_cache指令的inactive参数指定的时长内,至少被命中此处指定的次数方可被归类为活动项
# 默认值为1
#
open_file_cache_errors on | off;
# 是否缓存查找时发生错误的文件一类信息
# 默认为off
#
#
open_file_cache_valid time;
# 缓存项有效性的检查验证频率
# 默认值为60s

# 范例
open_file_cache	max=10000 inactive=6 0s;
open_file_cache_valid 30s;
open_file_cache_min_uses 5;
open_file_cache_errors on;
server_tokens off;
# 隐藏Nginx server版本

在这里插入图片描述

1.5 Nginx状态页

要实现该功能需要机遇块ngx_http_auth_basic_module实现,在编译安装nginx的时候需要添加编译参数–withhttp_stub_status_module

# 新建location
location /status {
                stub_status;
        }
# 不需要建立对应文件夹
# 最好加入网段的限制
#
# 测试

在这里插入图片描述

状态页用于输出nginx的基本状态信息:
输出信息示例:
Active connections: 2
server accepts handled requests
38 38 42
上面三个数字分别对应accepts,handled,requests三个值
Reading: 0 Writing: 1 Waiting: 1


Active connections: 当前处于活动状态的客户端连接数,包括连接等待空闲连接数。
accepts:统计总值,Nginx自启动后已经接受的客户端请求的总数。
handled:统计总值,Nginx自启动后已经处理完成的客户端请求的总数,通常等于accepts,除非有因
worker_connections限制等被拒绝的连接。
requests:统计总值,Nginx自启动后客户端发来的总的请求数。
Reading:当前状态,正在读取客户端请求报文首部的连接的连接数。
Writing:当前状态,正在向客户端发送响应报文过程中的连接数。
Waiting:当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于
active – (reading+writing)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值