Nginx其他配置——日志管理、网页压缩、访问控制
一、Nginx日志切割
在生产环境中每一天的日志文件都是要打包备份的,如果每天都手动的去截取日志,重命名这样就很不方便,所以我们编写一个脚本并建立一个定时任务来进行这些工作
1.编辑脚本文件,加权限
[root@server1 nginx]# ls
client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp
[root@server1 nginx]# cd logs/
[root@server1 logs]# ls
access.log error.log
[root@server1 logs]# vim backup.sh
[root@server1 logs]# ls
access.log backup.sh error.log
[root@server1 logs]#
脚本内容
#!/bin/bash
LOG_PATH=/usr/local/nginx/logs/oldlogs
CUR_LOG_PATH=/usr/local/nginx/logs
YESTERDAY=$(date +%F -d -1day)mv $CUR_LOG_PATH/access.log $LOG_PATH/${YESTERDAY}_access.log
mv $CUR_LOG_PATH/error.log $LOG_PATH/${YESTERDAY}_error.logkill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
给脚本加权限
[root@server1 logs]# ls
access.log backup.sh error.log
[root@server1 logs]# chmod +x backup.sh
[root@server1 logs]# ll
2.创建目录
3.执行脚本,查看目录
[root@server1 logs]# ./backup.sh
[root@server1 logs]# cd oldlogs/
4.创建定时任务
[root@server1 logs]# crontab -e
写入下面的内容:
0 0 * * * /bin/bash /usr/local/nginx/logs/backup.sh
二.网页压缩
1.准备测试页
[root@server1 ~]# cd /usr/local/nginx/
[root@server1 nginx]# ls
client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp
[root@server1 nginx]# cd html/
[root@server1 html]# ls
50x.html index.html
[root@server1 html]# vim index.html
为了方便我把/etc/passwd下的内容导入默认发布文件中,复制多次
2.浏览器上测试发布内容
重启服务
systemctl restart nginx ##做了脚本启动可以使用该命令
/usr/local/nginx/sbin/nginx -s reload ##通用
按F12调出开发者工具
可以看见网页大小与默认发布文件大小基本一致,为133.19K
3.网页压缩配置——修改配置文件
[root@server1 conf]# pwd
/usr/local/nginx/conf
[root@server1 conf]# vim nginx.conf
修改内容如下
33 gzip on;
34 gzip_min_length 1;
35 gzip_comp_level 2;
36 gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd/php image/jpeg image/gif image/png;
[root@server1 ~]# cd /usr/local/nginx/sbin/
[root@server1 sbin]# ./nginx -s reload
4.再次打开网页查看
压缩之后网页大小变成2.69K
三、客户端的访问控制
1.设置访问速率,一秒一个请求,所以请求十次10秒左右(限制客户端请求的并发量为1个)
(1)编辑配置文件
[root@server1 system]# cd
[root@server1 ~]# cd /usr/local/nginx/conf/
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# 37 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;51 location /search/ {52 limit_req zone=one;53 }
[root@server1 conf]# cd ../html
[root@server1 html]# ls
50x.html index.html
语法检测没有问题
[root@server1 conf]# ../sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
(2)创建search目录
[root@server1 html]# mkdir search
[root@server1 html]# cd search/
[root@server1 search]# ls
(3)下载一个图片
[root@server1 search]# systemctl reload nginx ##重启服务
(4)打开浏览器可以看到
(5)物理机测试
[root@foundation19 ~]# ab -c 1 -n 10 http://172.25.6.1/search/hello.jpg
失败9次,只响应了第一个请求,剩下的都被拒绝
2.burst
(1)编辑配置文件,添加brust=5
[root@server1 conf]# vim nginx.conf
[root@server1 html]# systemctl reload nginx.service ##重新加载服务
测试:
[root@foundation19 ~]# ab -c 1 -n 5 http://172.25.6.1/search/hello.jpg
等待大概5秒后
3.设置每秒访问50k,访问5次,116*5 = 580 ,580/50约10秒
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# systemctl reload nginx
[root@server1 conf]# du -sh /usr/local/nginx/html/search/hello.jpg
116K /usr/local/nginx/html/search/vim.jpg
[root@server1 conf]#
测试:
[root@foundation19 ~]# ab -c 1 -n 5 http://172.25.6.1/search/hello.jpg
4.内置变量,1秒1k
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# systemctl reload nginx
测试:打开浏览器访问,一直转圈
不断在加载新的内容
四.自定义日志
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# systemctl reload nginx
[root@server1 conf]#
[root@server1 conf]# cd ../logs/
[root@server1 logs]# ls
access.log backup.sh error.log nginx.pid oldlogs westos.access.log
[root@server1 logs]# 17 http {18 include mime.types;19 default_type application/octet-stream;20 21 log_format main '$remote_addr - $remote_user [$time_local] "$request" '22 '$status $body_bytes_sent "$http_referer" '23 '"$http_user_agent" "$http_x_forwarded_for"';37 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;38 server {39 listen 80;40 server_name localhost;41 42 #charset koi8-r;43 44 access_log logs/westos.access.log main;45 46 location / {47 root html;48 #set $limit_rate 1k;49 index index.html index.htm;50 }5152 location /search/ {53 #limit_rate 50k;54 limit_req zone=one burst=5;55 }
测试:
[root@foundation19 ~]# ab -c 1 -n 10 http://172.25.6.1/search/hello.jpg
在自定义的日志文件中查看
Nginx其他配置——日志管理、网页压缩、访问控制相关推荐
- SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云无插件直播点播解决方案之系统参数配置日志管理
SkeyeVSS综合安防监控Onvif.RTSP.GB28181视频云无插件直播点播解决方案之系统参数配置日志管理 1.系统参数配置 SkeyeVSS系统参数配置页面如下图所示: 其中包括: 服务器名 ...
- nginx缓存配置及开启gzip压缩
一:nginx缓存配置 在前一篇文章,我们理解过http缓存相关的知识点, 请看这篇文章. 今天我们来学习下使用nginx服务来配置缓存的相关的知识. nginx配置缓存的优点:可以在一定程度上,减少 ...
- es 配置日志管理策略
1.准备模板配置 index_patterns: 匹配索引 settings: 索引相关配置 mappings: 字段配置(不配置这个,logstash 送进来的数据不会生成文档) 小技巧:mappi ...
- java nginx 例子_Nginx配置日志
本篇文章帮大家学习Nginx配置日志,包含了Nginx配置日志使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 本节介绍如何在NGINX中配置日志记录错误和处理的请求.在本 ...
- Linux日志管理(日志配置、日志轮替)
Linux日志管理 对运维人员来说,无论管理什么系统,对日志文件的监控.调用.管理都是其中重要的一部分.服务器问题的解决都是从查看系统(错误)日志开始的.本篇文章,我们就来了解一下Linux系统中 ...
- centos 7.6—— Apache网页压缩——网页缓存
centos 7.6-- Apache网页压缩和网页缓存 文章目录 centos 7.6-- Apache网页压缩和网页缓存 gzip 介绍 (1)作用 (2)Apache的压缩模块 (3)配置网页压 ...
- Linux---Apache网页优化---网页压缩
Linux-Apache网页优化-网页压缩 一.Apache网页优化概述 1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配 ...
- Apache 网页与安全优化(网页压缩--缓存--防盗链等)
文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...
- Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!
呕心沥血书写,看完后对Nginx了如执掌,不看真的后悔!! shell脚本日志分割 设置连接超时 Nginx深入优化 更改进程数 配置网页压缩 配置防盗链 20.0.0.25 主机:开始盗链 20.0 ...
最新文章
- .net core项目部署到centos7
- 计算机视觉编程——图像到图像的映射
- 深度学习核心技术精讲100篇(二十)-如何通过树模型实现梯度提升树(GBDT)+LR,随机森林(RandomForest) +LR
- java文件没反应_Java实现文件点击没反应的方法
- Boost:测试bind <void>
- 配置本地及网络yum源(详细步骤)
- oracle截取字符串替换,oracle字符串操作:拼接、替换、截取、查找
- 为什么要选择基于NAS存储方案
- 北风设计模式课程---享元模式与单例模式区别
- 【毕业设计】JAVA网络通信系统的研究与开发(论文+源代码+开题报告)
- 【动态规划笔记】背包问题:搬寝室
- 深度学习中收敛是什么意思?
- C语言队列的基本实现
- shell while循环退出
- qq拼音 搜狗拼音的对比
- android x86 兼容问题,X86如何解决Android应用兼容性问题
- 计算机图形学四:着色-Shading
- 如何进行拼图?拼图其实很简单
- 硬件十万个为什么——运放篇(三)如何估算多级放大器的频宽
- 通信感知一体化技术思考