8月5日上课内容 nginx的优化和防盗链
全部都是面试题
nginx的优化和防盗链
重点就是优化:
每一个点都是面试题,非常重要,都是面试题
1、隐藏版本号(重点,一定要会)
备份 cp nginx.conf nginx.conf.bak.2023.0805

方法一:修改配置文件方式
vim /usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; #添加,关闭版本号
......
}

systemctl restart nginx

curl -I http://192.168.233.61
这时候再来看一下,版本号就消失了

方法二:修改源码文件,重新编译安装
vim /opt/nginx-1.22.0/src/core/nginx.h


#define NGINX_VERSION "1.1.1" #修改版本号
#define NGINX_VER "IIS" NGINX_VERSION #修改服务器类型

cd /opt/nginx-1.22.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install 回到配置源码包的主目录,重新配置一下,再重新编译安装一下



装完之后清除一下内存缓存

配置完之后再把off改为on显示编辑的版本号
vim /usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
server_tokens on;
......
}

systemctl restart nginx

curl -I http://192.168.233.61

2、Nginx的日志分割(非常重要,一定要会)
Nginx与apache的不同之处,就是Nginx本身没有设计日志分割工具,所以需要运维人员进行脚本编写来实现日志分割
分割日志
NGINX不自带日志分割系统,可以通过脚本实现

vim nginxlog.sh
#!/bin/bash
# 获取日期 date +%Y-%m-%d 表示用年 月 日的格式显示
d=$(date +%Y-%m-%d)
# 定义存储目录
dir="/usr/local/nginx/logs"
# 定义需要分割的源日志
logs_file='/usr/local/nginx/logs/access.log' 定义一个变量
logs_error='/usr/local/nginx/logs/error.log'
#定义nginx的pid文件
pid_file='/usr/local/nginx/run/nginx.pid'

if [ ! -d "$dir" ]
then
mkdir $dir
fi
# 移动日志并重命名文件
mv ${logs_file} ${dir}/access_${d}.log
mv ${logs_error} ${dir}/error_${d}.log
# 发送kill -USR1信号给Nginx的主进程号,让Nginx重新生成一个新的日志文件
kill -USR1 $(cat ${pid_file})
#日志文件清理,将30天前的日志进行清除
find $logs_path -mtime +30 -exec rm -rf {} \;
ls /var/log/nginx/ #日志按照前一天的日期命名,移动到指定路径完成分割的第一步需求
chmod 777 nginxlog.sh
相关文章:
8月5日上课内容 nginx的优化和防盗链
全部都是面试题 nginx的优化和防盗链 重点就是优化: 每一个点都是面试题,非常重要,都是面试题 1、隐藏版本号(重点,一定要会) 备份 cp nginx.conf nginx.conf.bak.2023.0805 方法一:修改配…...
网络爬虫请求头中的Referer和User-Agent与代理IP的配合使用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EJgMcgK-1691050515642)(https://cdn.nlark.com/yuque/0/2023/png/1313150/1691048724422-2a76d7b8-3ec3-48b7-9aec-d609d09b16d4.png#averageHue%2385b0a7&clientIdu3856fd20-7701-4&fromui&…...
RabbitMQ 生产者-消息丢失 之 场景分析
生产者-消息丢失 之 场景分析 生产者消息丢失的场景消息无法到达RabbitMQ连接断开信道关闭 RabbitMQ无法将消息入队交换机不存在无匹配队列 消息过期丢失消息丢失场景对比 生产者消息丢失的场景 生产者发送消息的流程如下:首先生产者和RabbitMQ服务器建立连接&…...
Hyper实现git bash在windows环境下多tab窗口显示
1.电脑上安装有git bash 下载链接:https://gitforwindows.org/ 安装Hyper 下载链接:官网 https://hyper.is/ 或者在百度云盘下载: https://pan.baidu.com/s/1BVjzlK0s4SgAbQgsiK1Eow 提取码:0r1f 设置 打开Hyper,依次点左上角-&g…...
Matlab的信号频谱分析——FFT变换
Matlab的信号频谱分析——FFT变换 Matlab的信号频谱分析 FFT是离散傅立叶变换的快速算法,可以将一个时域信号变换到频域。 有些信号在时域上是很难看出什么特征的。但是如果变换到频域之后,就很容易看出特征了。 这就是很多信号分析采用FFT变换的原因…...
如何从 Android 设备恢复已删除的文件?
从 Android 设备恢复已删除的文件很简单,但您需要了解内部恢复和SD 卡恢复之间的区别。 目前销售的大多数 Android 设备都配备了 SD 卡插槽(通常为 microSD),可以轻松添加额外的存储空间。该存储空间可用于存储照片、视频、文档&a…...
servlet生命周期和初始化参数传递
servlet生命周期和初始化参数传递 1、servlet生命周期 只有第一次访问才会初始化,之后访问都只执行service中的。 除非tomcat关闭重新启动: 2、初始化参数传递...
dvwa靶场通关(十一)
第十一关:Reflected Cross Site Scripting (XSS) low 这一关没有任何防护,直接输入弹窗 <script>alert(xss)</script> 打开网页源代码, 从源代码中我们可以看到,前面是输出的第一部分Hello,我们输入的脚…...
【Spring】使用注解存储Bean对象
目录 一、配置扫描路径(使用注解的方式存对象的前提) 二、使用类注解存储Bean对象 1、使用五大类注解存储Bean对象 2、为什么要这么多的类注解? 2.1、五大类注解之间的关系 3、获取Bean对象时的默认命名规则 三、使用方法注解来存储…...
怎么维护好自己的电脑
你的电脑已经成为你工作、学习、娱乐的最佳工具之一,但是如果你不做好电脑维护工作,就可能面临着电脑变慢、蓝屏、崩溃等问题。在这篇文章中,我们将介绍10个电脑维护步骤,让你的电脑更加稳定! 为什么需要电脑维护&…...
vscode中无法使用git解决方案
1 首先查看git安装目录 where git 2 找到bash.exe 的路径 比如:C:/Users/Wangzd/AppData/Local/Programs/Git/bin/bash 3 找到vscode的配置项setting.json 4 添加 "terminal.integrated.shell.windowns": "C:/Users/Wangzd/AppData/Local/Pr…...
MybatisPlus-CRUD,不带条件构造器的常用方法
mapper层 Repository public interface UserMapper extends BaseMapper<User> BaseMapper中封装好了增删改查的方法 后面直接调用就好了 测试类 SpringBootTest public class CrudTest {Autowiredprivate UserMapper userMapper;//新增Testpublic void insert(){//没…...
软件测试面试【富途面经分享】
目录 一面面经(1h) 二面面经 一面面经(1h) 一、对白盒黑盒灰盒测试的理解 答: 1、黑盒测试就当整个程序是个黑盒子,我们看不到它里面做了什么事情,只能通过输入输出看是否能得到我们所需的来…...
antd 库的 Table 组件中删除一个或多个选中的列表
先解释一下原代码每个方法的含义 const TablePage: React.FC () > {/* selectedRowKeys 指定选中项的 key 数组,需要和 onChange 进行配合在此处,通过 rowSelection.selectedRowKeys 来控制选中项。*/const [selectedRowKeys, setSelectedRowKeys] …...
针对java程序员的了解细节操作系统与进程
一、💛 操作系统(浅浅概念):是用来搞管理软件的 1.对下,要管理各种硬件设备 2.对上,要给应用程序提供一个稳定的运行环境 二、💙 进程:正在运行的程序,假如程序没有运行就不叫程序,…...
判定是否互为字符重排、回文排列
题1:判定是否互为字符重排 给定两个由小写字母组成的字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 输入: s1 "abc", s2 "bca" 输出: true 输入: s1 &quo…...
QT QTextCharFormat 说明和使用
QTextCharFormat:设置文本编辑框字体,字号,加粗,倾斜,下划线,颜色 QTextCharFormat 类的一些常用属性和方法: setFont(const QFont &font): 设置字体。 setFontFamily(const QString &a…...
掌握Memory Profiler技巧:识别内存问题
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、如何使用四、页面说明4.1 Java 和 Kotlin 分配…...
Linux学习之正则表达式元字符和grep命令
cat /etc/redhat-release看到操作系统的版本是CentOS Linux release 7.6.1810 (Core),uname -r可以看到内核版本是3.10.0-957.21.3.el7.x86_64。 正则表达式是一种搜索字符串的模式,通俗点理解,也就是普通字符和元字符共同组成的字符集合匹…...
熟练掌握ChatGPT解决复杂问题——学会提问
目录 引言 一、5W1H分析法 1. 简单的问题(what、where、when、who) 2.复杂的问题(why、how) 2.1 为什么(Why)——原因 2.2 方式 (How)——如何 二、如何提问得到更高质量的答案…...
养老护理员网课选哪家好?3大平台网课深度测评!
老龄化加剧下,养老护理员成为刚需职业,不少人想入行考证,但也会面临不扫问题:零基础怕学不懂、上班族缺整块时间、预算有限想性价比、备考缺题库练手…… 市面上网课、题库也很多,有的价格过高,有的内容过时…...
缠论分析工具终极指南:如何在通达信中实现可视化技术分析
缠论分析工具终极指南:如何在通达信中实现可视化技术分析 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 还在为复杂的缠论分析而头疼吗?想要在通达信软件中轻松识别分型、笔、线…...
LinuxVLAN接口异常定位实战
LinuxVLAN接口异常定位实战这是一篇面向中级 Linux 使用者的技术文章,主题聚焦在VLAN接口,重点讨论链路隔离、子接口和二层网络划分。在真实生产环境中,VLAN接口相关问题往往不会以单一错误形式出现,而是混杂在日志、权限、资源状…...
远洋边缘计算实战:基于 Linux 的客滚船高并发网络 QoS 调度与隔离策略
摘要:客滚船直连卫星网络面对几百名旅客并发时存在瘫痪与越权风险。本文记录了基于 Linux 构建标准工业级边缘网关多链路 QoS 调度与隔离的实操复盘。导语:在主导一艘国际客滚船的网络重构项目时,我们面临一个典型的高并发调度与合规挑战&…...
5分钟终极指南:用m4s-converter永久保存你的B站缓存视频
5分钟终极指南:用m4s-converter永久保存你的B站缓存视频 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的烦恼…...
芯片HAST测试:通电工作下如何精准模拟极端环境挑战?
为了确保产品在高温、高湿等恶劣条件下仍能正常工作,HAST(Highly Accelerated Stress Test)测试成为不可或缺的一部分。本文将深入解析HAST测试,并探讨如何在通电工作状态下进行精准模拟,以应对极端环境挑战。什么是HA…...
Vue3生态系统:打造完整的前端开发体系
Vue3生态系统:打造完整的前端开发体系 前言 大家好,我是前端老炮儿。今天咱们来聊聊Vue3的生态系统。 如果说Vue3是一辆超级跑车,那它的生态系统就是配套的加油站、维修站和改装厂。一个好的框架不仅要有强大的核心能力,还要有…...
MSP430单片机低功耗设计实战:从架构到代码的灵活性解析
1. 项目概述:为什么是MSP430?如果你在嵌入式领域摸爬滚打了一段时间,尤其是在对功耗极其敏感的应用场景里,比如智能穿戴、便携医疗设备、无线传感器网络或者那些需要电池供电数年的工业传感器,那么“MSP430”这个名字对…...
GitHub 协作完全指南:从“傻瓜”到专家的保姆级教程
引言:为什么协作会让人头疼?想象一下,你和其他几个人要一起画一幅巨大的壁画。每个人都在自己的小画板上画一部分。问题来了:怎么保证大家用的颜色一致?怎么把每个人的画拼到一起时严丝合缝?如果两个人画了…...
Windows HEIC缩略图解决方案:告别格式壁垒,实现跨平台无缝浏览
Windows HEIC缩略图解决方案:告别格式壁垒,实现跨平台无缝浏览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails…...
