nginx(设置访问限速、设置请求频率、目录浏览功能、expires功能)

创建nginx用户:

[root@server1 ~]# useradd -M -d /usr/local/nginx -s /sbin/nologin nginx
(创建用户,-M代表步创建家目录,-d指定新用户的主目录,-s /sbin/nologin nginx禁止该用户交互式登录)
[root@server1 ~]# id nginx(查看用户nginx信息)
uid=1001(nginx) gid=1001(nginx) groups=1001(nginx)

nginx设置访问限速

编辑nginx配置文件:

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf

  2 user  nginx nginx;
  3 worker_processes  auto;   #使worker进程自动调节,配置为CPU内核数是最佳配置
  4 
  5 #error_log  logs/error.log;
  6 #error_log  logs/error.log  notice;
  7 #error_log  logs/error.log  info;
  8 
  9 #pid        logs/nginx.pid;
 10 
 11 
 12 events {
 13     worker_connections  65535;(worker连接数据的限制)


 35     limit_conn_zone $binary_remote_addr zone=addr:10m;
 48         location /download/ {     #/download是资源所在路径)
 49                 limit_conn addr 1;  #限制客户端请求并发为1
 50            
 51         }

在/usr/local/nginx/html路径下创建download目录,目录下放一个图片用来实验测试。

[root@server1 modules]# cd /usr/local/nginx/html/download/
[root@server1 download]# ls
vim.jpg

通过ab命令测试: ab -c 1 -n 10 http://172.25.55.1/download/vim.jpg。用时很短,如下图。没有ab命令,通过 yum provides ab命令差到所需包安装。
在这里插入图片描述
限速:

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
 35     limit_conn_zone $binary_remote_addr zone=addr:10m;

 48         location /download/ {
 49                 limit_conn addr 1;
 50                 limit_rate 50k;  #限速为50k
 51         }

再次测试,时间变长。
在这里插入图片描述
设置请求频率

	 35     limit_conn_zone $binary_remote_addr zone=addr:10m;
	 36     limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
	 区域名称为one,占用空间大小为10m,平均处理的请求频率不能超过每秒一次
	 37     server {
	 38         listen       80;
	 39         server_name  localhost;
	 40         
	 41         #charset koi8-r;
	 42         
	 43         #access_log  logs/host.access.log  main;
	 44         
	 45         location / {
	 46             root   html;
	 47             index  index.html index.htm;
	 48         }
	 49         
	 50         location /download/ {
	 51                 limit_conn addr 1; 
	 52                 limit_req zone=one burst=5;
	 53         }

测试,请求有10次,间隔9秒。
在这里插入图片描述


nginx图片设置

[root@server1 ~]# ls
gd-devel-2.0.35-26.el7.x86_64.rpm  nginx-1.14.2.tar.gz  nginx-1.15.8.tar.gz
nginx-1.14.2                       nginx-1.15.8
[root@server1 ~]# yum install gd-devel-2.0.35-26.el7.x86_64.rpm -y
[root@server1 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx/ --with-http_realip_module --with-http_image_filter_module=dynamic
[root@server1 nginx-1.14.2]# make

[root@server1 nginx-1.14.2]# cd objs/
[root@server1 objs]# cp -f nginx /usr/local/nginx/sbin/
[root@server1 objs]# mkdir /usr/local/nginx/modules
[root@server1 objs]# cp ngx_http_image_filter_module.so  /usr/local/nginx/modules/

在这里插入图片描述
编辑nginx配置文件,修改图片的尺寸:

[root@server1 modules]# vim ../conf/nginx.conf

 36     server {
 37         listen       80;
 38         server_name  localhost;
 39 
 40         #charset koi8-r;
 41 
 42         #access_log  logs/host.access.log  main;
 43 
 44         location / { 
 45             root   html;
 46             index  index.html index.htm;
 47         }
 48         location /download/ {	
 49             image_filter resize 100 200;	#修改尺寸
 50         }

[root@server1 modules]# cd /usr/local/nginx/html/download/
[root@server1 download]# ls
vim.jpg
[root@server1 modules]# nginx -s reload

测试:图片的尺寸发生改变
在这里插入图片描述


nginx的目录浏览功能

为方便访问,可直接访问目录名

[root@server1 download]# vim /usr/local/nginx/conf/nginx.conf
	 48         location /download/ {
	 49 
	 50              autoindex on;
	 51         }

在这里插入图片描述


nginx的expires功能

expires有效降低服务器流量,降低网站带宽

[root@server1 download]# vim /usr/local/nginx/conf/nginx.conf
 77         location ~.*\.(jpg|png|css|js)?$ {
 78                 expires 30d;
 79         }

测试:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值