nginx的优化和防盗链

nginx的优化和防盗链

重点是优化

一:隐藏版本号

到http模块当中,添加server_tokens off

到源码包里面(cd /src/core) nginx.h的文件打开

NGINX_VER上下两行,修改完毕,然后编译安装

二:nginx的日志分割

nginx不自带日志分割工具,需要手动以脚本的形式来进行分割创建nginx.sh(脚本)内容进行编写

三:nginx的页面压缩

节约带宽,提升用户的访问速度

1、压缩功能是默认自带的,可以不取消注释的

但是需要添加压缩细节,需要吧gzip内部打开后,再进行配置

location ~* \.(gif/jpg/swf/jepg/ico)

连接超时:http1.1会有一个keepalive模式,告诉web服务器再处理一个请求之后继续保持当前连接的tcp的状态为打开状态,如果当前连接有新的请求,服务端就会立刻利用这个没有关闭的连接,继续给客户端响应,不需要再建立一个新的连接

keepalive在一段时间内保持打开状态,再这段时间内还是会占用资源,占用过多就会影响性能

keepalive timeout 65;tcp连接最多只能保持65s

设置为0,就是禁用了keepalive功能,质押请求完成,会立刻关闭tcp连接

———————————————————————————————————————————

nginx的并发设置:

在高并发的场景中,需要启动更多的nginx进程以保证响应速度。可以更快的处理用户的请求,阻障

cat  /proc/cpuinfo | grep processor | wc -l

worker_cpu_affinitg设置work进程,绑定到指定的cpu的命令。可以减少cpu、切换带来的开销,确保worker进程在一个独立的cpu核心上运行。

生产中的worker一般设置为4,访问量不大的,设置1也足够了

如果要扩展,最多也是8,16个

8个以上的worker进程,就不会再提高性能了,反而会降低性能

time_wait:

不是一个报错信息,是tcp连接状态中的一种状态。出现在tcp连接的四次挥手当中,当连接的乙方发送fin报文的时候,而且收到了对方的ack报文之后,就会进入time_wait

tcp处理等待的状态,是有一个持续时间的,65秒,确保网络当中的所有数据包都被完全处理完毕。

有两个作用:

1.确保可靠的关闭连接。如果立即关闭连接,旧的数据包也会被处理,从而会干扰新的连接。

2.避免连接复用,time_wait的时间太短,可能会导致旧的连接仍然在网络中,误以为是新的连接,导致连接复用。

而且在连接的生命周期中,time_wait占用的资源是非常小的,而且对服务器整体性能的影响也很有限制。

大量的短连接频繁创建和销毁,或者大并发连接时(负载均衡),time_wait连接会积累,服务器会出现大量的time_wait状态的连接,在这种情况下需要优化处理

查看系统所有的tcp连接的状态

closed表示连接未活动或者关闭

syn_recv:syn接收,服务端收到了来自客户端的syn(链接请求),正在等待确认

syn_sent:syn发送,客户端已经向服务器发送了syn请求,等待服务器确认

ESTABLISHED:已经建立了tcp连接,正在传送数据

fin_wait1:表示一端已经发送了连接关闭的请求,等待另一端确认

fin_wait2:表示另一端已经确认了,等待发出端,确认关闭请求

close_wait:表示一端已经关闭俩基恩,但是应用程序还未关闭连接

closing:正在关闭

time_wait:连接等待

last_ack:表示应用程序已经发送了最后的确认

net.ipv4.tcp_syncookies=1

表示开启syn cookies,当出现SYN队列溢出,启用cookie处理请求

net.ipv4.tcp_tw_reuse=1

表示TIME_WAIT状态的连接可以复用,即使time_wait把本地端口全部占满,也不会拒绝新的请求

net.ipv4.tcp_tw_recycle=1

让time_wait尽快回收

net.ipv4.tcp_fin_timeout=60

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 完成串口通信RS485

C# 完成串口通信RS485|RS232上下位机交互 第零步: 我用的是电脑usb 转串口的所以首先是驱动程序下载,我们用的是CH341 下载地址:https://www.wch.cn/downloads/CH341SER_EXE.html 第一步:连接机器 RS485 上面有三个端子&#xf…

深度学习与计算机相结合:直播实时美颜SDK的创新之路

时下,实时美颜技术就成为了直播主们的得力工具,它可以在直播过程中即时处理视频画面。而支持实时美颜功能的SDK更是推动了这项技术的发展,让直播主和普通用户都能轻松使用美颜功能。 一、美颜技术的演进 早期的美颜技术主要依赖于简单的图…

eclipse Java Editor Templates

​ Window - Preferences - Java - Editor - Templates ​ date ${currentDate:date(yyyy.MM.dd)}

Java版工程行业管理系统源码-专业的工程管理软件-em提供一站式服务

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目…

塔矢行洋对战藤原佐为,谁才是最接近神之一手的人

大家好, 我是嘉宾, 今天我们来盘点一下古今第一高手对局 ,塔矢行洋对战藤原佐为,谁才是最接近神之一手的人, 在所有设定都点击好之后, 塔矢行洋下出了自己的第一步 添加图片注释,不超过 140 字(可选) 佐…

【HDFS】BlockManager#checkRedundancy方法详解

BlockManager#checkRedundancy这个方法只有一处调用点, 就是FSNamesystem#finalizeINodeFileUnderConstruction方法。 TODO:补充FSNamesystem#finalizeINodeFileUnderConstruction方法的调用点。 checkRedundancy方法的参数的BlockCollection对象bc,解释一下,INodeFile类是…

SA8450 camera 源码分析

目录 代码路径:/apps/qnx_ap/AMSS/multimedia/camera_safe/qcd Initialize the IFE and CSI Phy devices 初始化IFE 初始化 IFE CSID VFE 的结构体 获取IFE CSID base addr 的vaddr VFEDriver_Init RegisterISTCallback HwMgr_CSIPHYOpen 代码路径&#xff1…

【每日一题】—— B. Maximum Rounding(Codeforces Round 891 (Div. 3))

🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…

VIM 编辑器: Bram Moolenaar

VIM 用了很长时间, 个人的 VIM 配置文件差不多10年没有更新了。以前写程序的时候, 编辑都用这个。 linux kernel, boost规模的代码都不在话下。现在虽然代码写的少了,依然是我打开文件的首选。 现在用手机了,配个蓝牙键…

无涯教程-Perl - endnetent函数

描述 此功能告诉系统您不再希望使用getnetent从网络列表中读取条目。 语法 以下是此函数的简单语法- endnetent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perluse Socket;while ( ($name, $aliases, $addrtype, $net) getnetent() )…

[RTKLIB]模糊度固定相关问题(一)

文章目录 一、改进的模糊度固定算法1. 简述模糊度固定算法思路2. 详解 manage_amb_LAMBDA()函数3. 我的思考和疑问 一、改进的模糊度固定算法 早些时候在阅读RTKLIB源码时,就对其模糊度固定算法感觉非常恐惧,首先是觉得整数最小二乘降相关是一个非常难的…

Android 9-- 源码角度: Home键的监听和拦截

在做应用层APP需求的过程中,HOME键的监听,Back键的监听,这都是很常见的问题,那你有试过,去拦截HOME键的事件吗,有去了解过如何处理吗,流程如何 首先大家应该先了解一种情况,就是Andr…

16-4_Qt 5.9 C++开发指南_Qt 应用程序的发布

文章目录 1. 应用程序发布方式2. Windows 平台上的应用程序发布 1. 应用程序发布方式 用 Qt 开发一个应用程序后,将应用程序提供给用户在其他计算机上使用就是应用程序的发布。应用程序发布一般会提供一个安装程序,将应用程序的可执行文件及需要的运行库…

Python 网络请求之requests

1.导入 requests 库 安装 requests 库 pip3 install "requests2.29.0"这里安装2,29.0版本,我在安装最新版本时,请求接口会报错: urllib3 v2.0 only supports OpenSSL 1.1.1, currently the ssl module is compiled with LibreSS…

Vue中使用Sortable:A和B拖拽交换位置之后,B和A又神奇得换回去了,但下面的数据确实已交换

参考:Vue中使用Sortable 1 问题 Vue中使用Sortable拖拽表头达到改变列的位置的效果, 想法:使用该组件进行拖拽列,但它不会切换原表头下的数据,因此:1、先拖拽,2、手动交换原先vue中的表头&am…

嵌入式面试4 Linux编程

23.设fp已定义,执行语句fpfopen(“file”,“w”);后,以下针对文本文件file操作叙述的选项错误的是:(ACD)【多选】 A 可以随意读和写 B 只能写不能读 C 可以在原有内容后追加写 D 写操作结束后可以从头开始读 权重:高 备注:还要理解…

Linux tun虚拟网卡通信初识

什么是linux tun设备 Linux TUN 设备是一种虚拟网络设备,用于在用户空间和内核空间之间建立数据通道,使用户空间程序可以通过这个设备与内核网络栈进行交互。TUN 设备是一种通用的网络隧道设备,常用于实现虚拟专用网络(VPN&#…

【湍流介质的三维传播模拟器】全衍射3-D传播模拟器,用于在具有随机和背景结构的介质中传播无线电和光传播(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

目录 一、数据结构1、线性表2、优先队列3、滑动窗口4、二叉树5、并查集6、栈 二、算法1、基础算法2、字符串3、图4、动态规划5、数学 三、漫画算法2:小灰的算法进阶参与方式 很多小伙伴问我,华为OD机试算法题太多了,知识点繁杂,如…

中文版开源Llama 2同时有了语言、多模态大模型,完全可商用

可以说,AI 初创公司 LinkSoul.Al 的这些开源项目让海外开源大模型在国内的普及和推广速度与国际几乎保持了一致。 7 月 19 日,Meta 终于发布了免费可商用版本 Llama 2,让开源大模型领域的格局发生了巨大变化。 Llama 2 模型系列包含 70 亿、…