当前位置: 首页 > news >正文

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靶场通关(十一)

第十一关&#xff1a;Reflected Cross Site Scripting (XSS) low 这一关没有任何防护&#xff0c;直接输入弹窗 <script>alert(xss)</script> 打开网页源代码&#xff0c; 从源代码中我们可以看到&#xff0c;前面是输出的第一部分Hello&#xff0c;我们输入的脚…...

【Spring】使用注解存储Bean对象

目录 一、配置扫描路径&#xff08;使用注解的方式存对象的前提&#xff09; 二、使用类注解存储Bean对象 1、使用五大类注解存储Bean对象 2、为什么要这么多的类注解&#xff1f; 2.1、五大类注解之间的关系 3、获取Bean对象时的默认命名规则 三、使用方法注解来存储…...

怎么维护好自己的电脑

你的电脑已经成为你工作、学习、娱乐的最佳工具之一&#xff0c;但是如果你不做好电脑维护工作&#xff0c;就可能面临着电脑变慢、蓝屏、崩溃等问题。在这篇文章中&#xff0c;我们将介绍10个电脑维护步骤&#xff0c;让你的电脑更加稳定&#xff01; 为什么需要电脑维护&…...

vscode中无法使用git解决方案

1 首先查看git安装目录 where git 2 找到bash.exe 的路径 比如&#xff1a;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(){//没…...

软件测试面试【富途面经分享】

目录 一面面经&#xff08;1h&#xff09; 二面面经 一面面经&#xff08;1h&#xff09; 一、对白盒黑盒灰盒测试的理解 答&#xff1a; 1、黑盒测试就当整个程序是个黑盒子&#xff0c;我们看不到它里面做了什么事情&#xff0c;只能通过输入输出看是否能得到我们所需的来…...

antd 库的 Table 组件中删除一个或多个选中的列表

先解释一下原代码每个方法的含义 const TablePage: React.FC () > {/* selectedRowKeys 指定选中项的 key 数组&#xff0c;需要和 onChange 进行配合在此处&#xff0c;通过 rowSelection.selectedRowKeys 来控制选中项。*/const [selectedRowKeys, setSelectedRowKeys] …...

针对java程序员的了解细节操作系统与进程

一、&#x1f49b; 操作系统&#xff08;浅浅概念&#xff09;&#xff1a;是用来搞管理软件的 1.对下,要管理各种硬件设备 2.对上,要给应用程序提供一个稳定的运行环境 二、&#x1f499; 进程&#xff1a;正在运行的程序&#xff0c;假如程序没有运行就不叫程序&#xff0c;…...

判定是否互为字符重排、回文排列

题1&#xff1a;判定是否互为字符重排 给定两个由小写字母组成的字符串 s1 和 s2&#xff0c;请编写一个程序&#xff0c;确定其中一个字符串的字符重新排列后&#xff0c;能否变成另一个字符串。 输入: s1 "abc", s2 "bca" 输出: true 输入: s1 &quo…...

QT QTextCharFormat 说明和使用

QTextCharFormat&#xff1a;设置文本编辑框字体&#xff0c;字号&#xff0c;加粗&#xff0c;倾斜&#xff0c;下划线&#xff0c;颜色 QTextCharFormat 类的一些常用属性和方法&#xff1a; setFont(const QFont &font): 设置字体。 setFontFamily(const QString &a…...

掌握Memory Profiler技巧:识别内存问题

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、如何使用四、页面说明4.1 Java 和 Kotlin 分配…...

Linux学习之正则表达式元字符和grep命令

cat /etc/redhat-release看到操作系统的版本是CentOS Linux release 7.6.1810 (Core)&#xff0c;uname -r可以看到内核版本是3.10.0-957.21.3.el7.x86_64。 正则表达式是一种搜索字符串的模式&#xff0c;通俗点理解&#xff0c;也就是普通字符和元字符共同组成的字符集合匹…...

熟练掌握ChatGPT解决复杂问题——学会提问

目录 引言 一、5W1H分析法 1. 简单的问题&#xff08;what、where、when、who&#xff09; 2.复杂的问题&#xff08;why、how&#xff09; 2.1 为什么&#xff08;Why&#xff09;——原因 2.2 方式 &#xff08;How&#xff09;——如何 二、如何提问得到更高质量的答案…...

养老护理员网课选哪家好?3大平台网课深度测评!

老龄化加剧下&#xff0c;养老护理员成为刚需职业&#xff0c;不少人想入行考证&#xff0c;但也会面临不扫问题&#xff1a;零基础怕学不懂、上班族缺整块时间、预算有限想性价比、备考缺题库练手…… 市面上网课、题库也很多&#xff0c;有的价格过高&#xff0c;有的内容过时…...

缠论分析工具终极指南:如何在通达信中实现可视化技术分析

缠论分析工具终极指南&#xff1a;如何在通达信中实现可视化技术分析 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 还在为复杂的缠论分析而头疼吗&#xff1f;想要在通达信软件中轻松识别分型、笔、线…...

LinuxVLAN接口异常定位实战

LinuxVLAN接口异常定位实战这是一篇面向中级 Linux 使用者的技术文章&#xff0c;主题聚焦在VLAN接口&#xff0c;重点讨论链路隔离、子接口和二层网络划分。在真实生产环境中&#xff0c;VLAN接口相关问题往往不会以单一错误形式出现&#xff0c;而是混杂在日志、权限、资源状…...

远洋边缘计算实战:基于 Linux 的客滚船高并发网络 QoS 调度与隔离策略

摘要&#xff1a;客滚船直连卫星网络面对几百名旅客并发时存在瘫痪与越权风险。本文记录了基于 Linux 构建标准工业级边缘网关多链路 QoS 调度与隔离的实操复盘。导语&#xff1a;在主导一艘国际客滚船的网络重构项目时&#xff0c;我们面临一个典型的高并发调度与合规挑战&…...

5分钟终极指南:用m4s-converter永久保存你的B站缓存视频

5分钟终极指南&#xff1a;用m4s-converter永久保存你的B站缓存视频 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的烦恼…...

芯片HAST测试:通电工作下如何精准模拟极端环境挑战?

为了确保产品在高温、高湿等恶劣条件下仍能正常工作&#xff0c;HAST&#xff08;Highly Accelerated Stress Test&#xff09;测试成为不可或缺的一部分。本文将深入解析HAST测试&#xff0c;并探讨如何在通电工作状态下进行精准模拟&#xff0c;以应对极端环境挑战。什么是HA…...

Vue3生态系统:打造完整的前端开发体系

Vue3生态系统&#xff1a;打造完整的前端开发体系 前言 大家好&#xff0c;我是前端老炮儿。今天咱们来聊聊Vue3的生态系统。 如果说Vue3是一辆超级跑车&#xff0c;那它的生态系统就是配套的加油站、维修站和改装厂。一个好的框架不仅要有强大的核心能力&#xff0c;还要有…...

MSP430单片机低功耗设计实战:从架构到代码的灵活性解析

1. 项目概述&#xff1a;为什么是MSP430&#xff1f;如果你在嵌入式领域摸爬滚打了一段时间&#xff0c;尤其是在对功耗极其敏感的应用场景里&#xff0c;比如智能穿戴、便携医疗设备、无线传感器网络或者那些需要电池供电数年的工业传感器&#xff0c;那么“MSP430”这个名字对…...

GitHub 协作完全指南:从“傻瓜”到专家的保姆级教程

引言&#xff1a;为什么协作会让人头疼&#xff1f;想象一下&#xff0c;你和其他几个人要一起画一幅巨大的壁画。每个人都在自己的小画板上画一部分。问题来了&#xff1a;怎么保证大家用的颜色一致&#xff1f;怎么把每个人的画拼到一起时严丝合缝&#xff1f;如果两个人画了…...

Windows HEIC缩略图解决方案:告别格式壁垒,实现跨平台无缝浏览

Windows HEIC缩略图解决方案&#xff1a;告别格式壁垒&#xff0c;实现跨平台无缝浏览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails…...