nginx--自定义日志&&跳转&&长连接&&文件缓存&&状态页

自定义日志服务

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf 
server {
  listen 80;
  server_name www.fxq.com;
  error_log /data/nginx/logs/fxq-error.log info;
  access_log /data/nginx/logs/fxq-access.log main;
  location / {
     root /data/nginx/html/pc;
     index index.html;
  }
}

要打开main

生成日志

页面不存在跳转服务

直接跳转到首页

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
  listen 80;
  server_name www.fxq.com;
  location / {
     root /data/nginx/html/pc;
     index index.html;
     try_files $uri /index.html;
  }
}

匹配uri目录下面的index.html文件

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
  listen 80;
  server_name www.fxq.com;
  location / {
     root /data/nginx/html/pc;
     index index.html;
     try_files $uri $uri/index.html /index.html;
  }
}

补全文件名

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
  listen 80;
  server_name www.fxq.com;
  location / {
     root /data/nginx/html/pc;
     index index.html;
     try_files $uri $uri.html /index.html;
  }
}

返回状态码

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
  listen 80;
  server_name www.fxq.com;
  location / {
     root /data/nginx/html/pc;
     index index.html;
     try_files $uri  =123;
  }
}

长连接配置

keepalive_timeout number; 设定保持连接超时时⻓长,0表示禁止长连接,默认为75s,通常配置在http字段作为站点全局配置

keepalive_requests number; #在一次长连接上所允许请求的资源的最大数量,默认为100次

keepalive_requests 3;
keepalive_timeout 65 65;

开启长连接后,返回客户端的会话保持时间为65s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的65s为发送给客户端应答报文头部中显示的超时间设置为65s:如不设置客户端将不显示超时时间

使用telnet测试

telnet www.fxq.com 80

2次后断开

文件缓存

可配置在http,server,location

open_file_cache off; 是否缓存打开过的文件信息
open_file_cache max=N [inactive=time];

max=N:可缓存的缓存项上限数量;达到上限后会使用LRU(Least recently used,最近最少使⽤)算法实现管理理

inactive=time:缓存项的非活动时⻓长,在此处指定的时长内未被命中的或命中的次数少于

open_file_cache_min_uses指令所指定的次数的缓存项即为⾮非活动项,将被删除

nginx可以缓存以下三种信息:

(1) 文件元数据:⽂文件的描述符、文件大小和最近⼀一次的修改时间

(2) 打开目录结构

(3) 没有找到的或者没有权限访问的文件的相关信息
open_file_cache_errors on | off;是否缓存查找时发生错误的文件一类的信息 默认值为off

open_file_cache_min_uses number;

open_file_cache指令的inactive参数指定的时长内,至少被命中此处指定的次数方可被归类为活动项默认值为1

open_file_cache_valid time;缓存项有效性的检查验证频率,默认值为60s

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
  listen 80;
  server_name www.fxq.com;
  open_file_cache max=10000 inactive=60s; #最⼤大缓存10000个⽂文件,⾮非活动数据超时时⻓长60s
  open_file_cache_valid 60s; #每间隔60s检查⼀一下缓存数据有效性
  open_file_cache_min_uses 5; #60秒内⾄至少被命中访问5次才被标记为活动数据
  open_file_cache_errors on; #缓存错误信息
  server_tokens off; #隐藏Nginx server版本。
  location / {
     root /data/nginx/html/pc;
     index index.html;
     allow 12.168.33.179;
  }
}

状态页

基于nginx模块ngx_http_stub_status_module实现,在编译安装nginx的时候需要添加编译参数--with-http_stub_status_module,否则配置完成之后监测会是提示语法错误。

location /nginx_status {

stub_status;

allow 192.168.13.118;

allow 127.0.0.1;

deny all;

}

Active connections: 当前处于活动状态的客户端连接数,包括连接等待空闲连接数。

accepts:统计总值,Nginx自启动后已经接受的客户端请求的总数。

handled:统计总值,Nginx自启动后已经处理完成的客户端请求的总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接。

requests:统计总值,Nginx自启动后客户端发来的总的请求数。

Reading:当前状态,正在读取客户端请求报文首部的连接的连接数。

Writing:当前状态,正在向客户端发送响应报文过程中的连接数。

Waiting:当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active -- (reading+writing),

状态⻚页⽤用于输出nginx的基本状态信息:
输出信息示例例:
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
上⾯面三个数字分别对应accepts,handled,requests三个值
Reading: 6 Writing: 179 Waiting: 106
相关推荐
vip45126 分钟前
Linux 经典面试八股文
linux
大霞上仙28 分钟前
Ubuntu系统电脑没有WiFi适配器
linux·运维·电脑
weixin_442643421 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
Karoku0661 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
半桶水专家1 小时前
用go实现创建WebSocket服务器
服务器·websocket·golang
布值倒区什么name1 小时前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
孤客网络科技工作室2 小时前
VMware 虚拟机使用教程及 Kali Linux 安装指南
linux·虚拟机·kali linux
。puppy2 小时前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
AndyFrank3 小时前
mac crontab 不能使用问题简记
linux·运维·macos