nginx测试

实验环境:初始快照,关闭防火墙和selinux,ping通外网

在nginx基础上(使用域名成功访问nginx网页)

实验步骤:

  • nginx目录索引(autoindex自动索引模块)

nginx默认不起用目录索引,更不允许列出网站目录提供下载。

Syntax: autoindex on | off; 索引功能的开或关

Default: autoindex off; 默认关闭

Context: http, server, location 场景:全局、某个虚拟主机、某个虚拟主机的目录

例:

在www网站下,创建download下载目录,索引显示

  1. 创建下载目录

mkdir -p /www/download

  1. 进入下载目录

cd /www/download

  1. 创建三个目录(测试的时候可以查看到以下三个目录)

mkdir yun71

mkdir yun72

mkdir yun73

  1. 编辑虚拟主机配置

vim  /etc/nginx/conf.d/www.conf

在server字段中添加:

location /download {

         root   /www;

         autoindex on; 启用索引显示

         charset utf-8,gbk; 字符编码为中文

         autoindex_exact_size on; 显示文件大小

         autoindex_localtime on; 显示文件创建时间

     }

autoindex_exact_size off; //默认为on,显示出文件的确切大小,单位bytes。 修改为off,显示出文件大概大小,单位是KB或者MB或者GB

autoindex_localtime on; //默认为off,显示的文件时间为GMT时间。修改为no,显示的文件时间为文件服务器时间

charset utf-8,gbk; // 默认中文目录乱码,解决乱码

保存退出

  1. 重新加载nginx配置文件,使更改生效

sudo nginx -s reload

  1. 客户端访问测试

http://www.yun71.com/download/

  • nginx状态监控(status模块)
  1. 通过nginx -V来查看是否有with-http_stub_status_module该模块。

Syntax: stub_status; 启用状态化追踪

Default: 默认关闭

Context: server, location 场景:

  1. 针对www网站,启用状态化追踪

vim  /etc/nginx/conf.d/www.conf

在sever字段中添加:

location /status {

                stub_status;

                access_log off;

    }

  1. 重新加载nginx配置文件,使更改生效

sudo nginx -s reload

  1. 客户端访问

http://www.yun71.com/status

客户端显示结果如下:

Active connections: 1 当前活跃的连接数

server  accepts 19 当前的总tcp连接数

handled 19 成功的连接数

requests 486 总HTTP请求数

  1. 在测试机使用ab压力工具测试(测试服务器的负载压力)
  1. 安装测试工具

yum -y install httpd-tools

或者使用rpm

  1. 挂载光盘

mount /dev/cdrom /media/

cd /media/Packages/

  1. Rpm安装过测试工具

rpm -ivh httpd-tools-2.4.6-45.el7.centos.x86_64.rpm

  1. ab -c 1000 -n 10000 http://www.yun71.com/

-n:在测试会话中所执行的请求个数,默认仅执行一个请求

-c:一次产生的请求个数,默认是一次一个

  • Nginx基于IP的访问控制(access模块)
  1. 仅允许内部网段或vpn访问status

  vim  /etc/nginx/conf.d/www.conf

修改:

location /status {

                stub_status;

                access_log off;

                allow 192.168.8.0/24;

                deny all;

    }

  1. 重新加载nginx配置文件,使更改生效

sudo nginx -s reload

  1. 客户端访问

http://www.yun71.com/status

  1. 修改配置文件

vim  /etc/nginx/conf.d/www.conf

将仅允许8.0网段改为9.0网段再次测试

  1. 重新加载nginx配置文件,使更改生效

sudo nginx -s reload

  1. 客户端访问

注意:出现403 Forbidden 表示你对这个资源没有权限

  • Nginx基于用户的访问控制(auth模块)
  1. 设置访问/status,用户密码验证

安装接口调用工具

yum -y install httpd-tools

  1. 创建用户名为admin密码为123456并写入文件

htpasswd -b -c /etc/nginx/.auth_conf admin 123456

  1. 修改虚拟配置文件

vim  /etc/nginx/conf.d/www.conf

修改为:

location /status {

         stub_status;

         access_log off;

           auth_basic "input your passwd:";

           auth_basic_user_file /etc/nginx/.auth_conf;

    }

  1. 重新加载nginx配置文件,使更改生效

sudo nginx -s reload

  1. 客户端测试

http://www.yun71.com/status  需要输入用户名和密码

 

输入正确的用户名和密码会出现以下界面

  • Nginx日志格式
  1. 查看日志

tail /var/log/nginx/access.log

  1. 修改配置文件

vim /etc/nginx/nginx.conf

增加一个变量请求包长度$request_length

  1. 再次查看日志

tail /var/log/nginx/access.log

  • 测试匹配符的优先级

  1. 添加域名使之能被正常解析到

Vim  /etc/hosts

添加:

192.168.8.5 test.benet.com

  1. 进入目录

cd /etc/nginx/conf.d/

  1. 编辑配置文件

vim test.conf

添加:

server {

        listen 80;

        server_name test.benet.com;

        location / {

                default_type text/html;

                return 200 "location /";

        }

        location =/ {

                default_type text/html;

                return 200 "location =/";

        }

        location ~ / {

                default_type text/html;

                return 200 "location ~ /";

        }

        location ~* / {

                default_type text/html;

                return 200 "location ~* /";

        }

}

  1. 客户端访问

http://test.benet.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值