跳到主要内容

[toc]

nginx基础应用

1.nginx目录索引

信息

加参数 charset utf-8,gbk; 解决中文乱码问题

autoindex

信息

是否列出网站根目录(nginx默认是不允许列出整个目录浏览下载的,即 autoindex off)

默认为off,禁止列出网站根目录内容

修改为on,列出网站根目录内容

编辑nginx配置文件

cat > /etc/nginx/conf.d/www.abc.com <<'EOF'
server {
listen 80;
server_name www.abc.com;

location / {
root /website;
autoindex off;
charset utf-8,gbk;
}
}
EOF

检测nginx语法并重载nginx

nginx -t
nginx -s reload

创建网站根目录并创建文件

mkdir /website && cd /website
touch {1..3}.txt

本机hosts解析,然后浏览器访问域名www.abc.com

  • windows
    • c:\windows\system32\drivers\etc
  • mac
    • /etc/hosts

autoindexoff的时候是拒绝访问网站根目录的

iShot2020-06-1521.52.53

autoindexon的时候是可以访问网站根目录的

iShot2020-06-1521.51.20

autoindex_exact_size

信息

是否显示文件的确切大小

默认为on, 显示出文件的确切大小,单位是bytes。

修改为off,显示出文件的大概大小,单位是kB或者MB或者GB

autoindex_exact_sizeon的时候,显示文件确切大小,单位是字节,显示如下

iShot2020-06-1522.24.06

autoindex_exact_sizeoff的时候,显示是文件的大概大小,单位是KB/MB/GB,显示如下

iShot2020-06-1522.25.44

autoindex_localtime

信息

显示文件修改时间或文件服务器时间

默认为off,显示的文件时间为GMT时间。

修改为on, 显示的文件时间为文件的服务器时间。

北京时间=GMT时间+8小时

autoindex_localtimeoff的时候,显示如下

iShot2020-06-1522.31.35

autoindex_localtimeon的时候,显示如下

提示

上传的文件显示的时间是文件的修改时间,与服务器时间没有关系,在服务器中创建的文件才是服务器的时间

iShot2020-06-1522.32.56


配置站点目录浏览功能

在nginx配置文件中开启以下参数即可

location / {
root /xxx;
autoindex on; #列出根目录,默认off
autoindex_localtime on; #显示文件时间为当前服务器时间,默认off
autoindex_exact_size off; #显示文件确切大小,以人类易读的方式显示,默认on
}

2.nginx状态监控

nginx中ngx_http_stub_status_module用于展示nginx连接状态信息, 需要--with-http_stub_status_module模块支持

2.1 检测nginx是否支持stub_status模块

提示

使用命令 nginx -V &>nginx.txt 把nginx支持的模块信息放入到文件中,然后在文件中过滤 --with-http_stub_status 模块(rpm包或者yum安装的nginx都支持),注意一定要写成 &> ,只写 > 不会有内容

nginx -V &> nginx.txt

2.2 配置nginx status

location /nginx_status {
stub_status;
access_log off;
}

2.3 浏览器访问域名/nginx_status

返回结果如下

iShot2020-06-1522.50.18

各参数含义

Active connections:1    #当前活动的连接数
server accepts handled requests
21 21 27

21 #总的tcp连接数connection
21 #成功tcp连接数connection(失败连接=(总连接数-成功连接数))
27 #总共处理的http请求数requests

#keepalive_timeout 0; 每次连接都会产生一次请求(短连接)
#keepalive_timeout 60; 在60s以内的请求建立在一个连接基础之上(长连接)

Reading:0 Writing:1 Waiting: 0
Reading #请求
Writing #响应
Waiting #等待的请求数,开启了keepalive