一、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其他配置——日志管理、网页压缩、访问控制相关推荐

  1. SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云无插件直播点播解决方案之系统参数配置日志管理

    SkeyeVSS综合安防监控Onvif.RTSP.GB28181视频云无插件直播点播解决方案之系统参数配置日志管理 1.系统参数配置 SkeyeVSS系统参数配置页面如下图所示: 其中包括: 服务器名 ...

  2. nginx缓存配置及开启gzip压缩

    一:nginx缓存配置 在前一篇文章,我们理解过http缓存相关的知识点, 请看这篇文章. 今天我们来学习下使用nginx服务来配置缓存的相关的知识. nginx配置缓存的优点:可以在一定程度上,减少 ...

  3. es 配置日志管理策略

    1.准备模板配置 index_patterns: 匹配索引 settings: 索引相关配置 mappings: 字段配置(不配置这个,logstash 送进来的数据不会生成文档) 小技巧:mappi ...

  4. java nginx 例子_Nginx配置日志

    本篇文章帮大家学习Nginx配置日志,包含了Nginx配置日志使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 本节介绍如何在NGINX中配置日志记录错误和处理的请求.在本 ...

  5. Linux日志管理(日志配置、日志轮替)

    Linux日志管理   对运维人员来说,无论管理什么系统,对日志文件的监控.调用.管理都是其中重要的一部分.服务器问题的解决都是从查看系统(错误)日志开始的.本篇文章,我们就来了解一下Linux系统中 ...

  6. centos 7.6—— Apache网页压缩——网页缓存

    centos 7.6-- Apache网页压缩和网页缓存 文章目录 centos 7.6-- Apache网页压缩和网页缓存 gzip 介绍 (1)作用 (2)Apache的压缩模块 (3)配置网页压 ...

  7. Linux---Apache网页优化---网页压缩

    Linux-Apache网页优化-网页压缩 一.Apache网页优化概述 1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配 ...

  8. Apache 网页与安全优化(网页压缩--缓存--防盗链等)

    文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...

  9. Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!

    呕心沥血书写,看完后对Nginx了如执掌,不看真的后悔!! shell脚本日志分割 设置连接超时 Nginx深入优化 更改进程数 配置网页压缩 配置防盗链 20.0.0.25 主机:开始盗链 20.0 ...

最新文章

  1. .net core项目部署到centos7
  2. 计算机视觉编程——图像到图像的映射
  3. 深度学习核心技术精讲100篇(二十)-如何通过树模型实现梯度提升树(GBDT)+LR,随机森林(RandomForest) +LR
  4. java文件没反应_Java实现文件点击没反应的方法
  5. Boost:测试bind <void>
  6. 配置本地及网络yum源(详细步骤)
  7. oracle截取字符串替换,oracle字符串操作:拼接、替换、截取、查找
  8. 为什么要选择基于NAS存储方案
  9. 北风设计模式课程---享元模式与单例模式区别
  10. 【毕业设计】JAVA网络通信系统的研究与开发(论文+源代码+开题报告)
  11. 【动态规划笔记】背包问题:搬寝室
  12. 深度学习中收敛是什么意思?
  13. C语言队列的基本实现
  14. shell while循环退出
  15. qq拼音 搜狗拼音的对比
  16. android x86 兼容问题,X86如何解决Android应用兼容性问题
  17. 计算机图形学四:着色-Shading
  18. 如何进行拼图?拼图其实很简单
  19. 硬件十万个为什么——运放篇(三)如何估算多级放大器的频宽
  20. 通信感知一体化技术思考

热门文章

  1. R语言ggplot2可视化改变图中线条的透明度级别实战
  2. plotly可视化绘制嵌入式子图
  3. R计算数组的累计加和(Cumulative Sums)
  4. 计算机英语unit,计算机专业英语Unit 7
  5. java SE环境变量配置
  6. 全长转录组之基因和转录本鉴定
  7. 阿里云云服务器ECS上的Ubuntu16.04桌面安装及root账户登录错误处理
  8. FALCON组装参数学习
  9. Dijkstra 贪心算法 动态规划
  10. 群体运动度量--Measuring Crowd Collectiveness