nginx优化

目录

1、nginx的优化

1.1、隐藏nginx的版本号:

1.1.1、nginx的日志分割:

1.1.2、nginx的网页压缩:

2.1、防盗链


1、nginx的优化

1.1、隐藏nginx的版本号:

1.1.1、nginx的日志分割:

nginx不自带日志分割工具,通过脚本来实现。

通过定任务,自动实现。

1.1.2、nginx的网页压缩:

连接超时:tcp连接控制时间

根据cpu的核心数:8核起步

time_wait优化:是tcp连接状态中的一种,不是报错,四次挥手之后会出现time_wait

在time_wait状态下,tcp处于连接等待,等待一定的时间,确保所有的数据全部传输完毕。如果需要继续传输数据,可以继续使用已建立的这个连接,无需再次发起连接请求。

确保所有的连接,都是可靠的关闭

time_wait在连接正常关闭之后,经历一段时间之后,会自动关闭,自动消失,占用资源非常小,对服务器的性能影响有限,大型网站会关注这个问题

closed:连接关闭

listen:监听,等待连接

syn_recv:SYN接受,表示服务器已经收到了来自客户端的SYN请求(连接请求),正在等待确认

syn_sent:SYN发送,表示应用程序已经向服务器发送了SYN请求,等待服务器确认

ESTABLISHED:已经建立连接,正在传输数据

fin_wait1

fin_wait2

向对方发送了断开请求,都在等待断开请求

close_wait:关闭等待,一端已关闭,但是另一端还在连接

time_wait

last_ack:应用程序已经发送了最后的确认,等待另一端确认之后进入closed状态

closing:正在关闭,表示双方在同时尝试关闭连接

1、隐藏版本号,必须要会

2、nginx的日志分割

3、页面压缩

4、图片缓存

5、连接保持(掌握)

6、nginx的并发设置(把进程绑定到cpu)

7、time_wait了解即可

2.1、防盗链

防止其他网站盗用本网站的图片连接

valid_referers none blocked *.kgc kgc.com; if ( $invalid_referer ) rewrite N/ http://www.kgc.com/error.png; valid_referers none blocked *.kgc kgc.com; valid_referers: nginx的内置变量设置信任的网站可以正常使用一切资源(访问图片)

none允许没有http_refer的请求访问资源 www.baidu.com/wuke.jpg www.baidu.com

blocked:不带协议请求访问资源

http://

https://

*.kgc.com只能是www.kgc.com可以按照上述规则访问。

$invailed_referer:nginx内置变量,不是在上述的配置,不是kgc.com执行重写

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

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

相关文章

【Go入门】Web工作方式

【Go入门】 Web工作方式 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢? 对于普通的上网过程,系统其实是这样做的&…

Qt中使用QNetworkAccessManager类发送https请求时状态码返回0

前言 在项目开发中,碰到一个问题,使用QNetworkAccessManager类对象发送https请求时,状态码一直返回0,抓包分析看请求响应也是正常的。费了好大劲终于搞定了,主要是两个原因导致的。 原因一:未设置支持SSL…

cookie 和 session的区别(简单易懂)

cookie: Cookie是访问某些网站以后在本地存储的一些网站相关的信息,下次再访问的时候减少一些步骤。 浏览器端第一次发送请求到服务器端,服务器端创建Cookie,该Cookie中包含用户的信息,然后将该Cookie发送到浏览器端&…

基于RK3588的8k多屏异显安卓智能网络机顶盒

采用RK3588芯片方案的8K网络机顶盒,搭载纯净的安卓12操作系统,支持Ubuntu和Debian系统容拓展。主要面向外贸市场。此款机顶盒自带两个HDMI输出接口,一个HDMI输入接口,内置双频WiFi6无线模块,支持千兆以太网和USB接口。…

【文末送书】十大排序算法及C++代码实现

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

微创机器人:CRM撬动售后服务数字化升级

一方面,我国医疗器械行业起步较晚,更注重产品的销售和业务的拓展,企业售后服务整体比较滞后。 另一方面,医疗器械售后服务环节数字化程度不足,一些企业仍通过传统的线下手段管理售后服务,进行数字化尝试的…

【快速解决】实验四 对话框 《Android程序设计》实验报告

目录 前言 实验要求 实验四 对话框 正文开始 第一步建立项目 第二步选择empty views activity点击next ​编辑 第三步起名字,点击finish 第四步对 activity _main.xml文件操作进行布局 第五步,建立两个新文件,建立方法如下 SecondA…

npm报错

npm报错 npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report s…

16. Spring源码篇之指定构造方法参数

简介 为什么讲这个,是因为在spring使用构造方法注入的时候会有大量的判断,是不是指定了参数。如果指定了参数就可以使用不同的构造方法去实例化Bean,本文将介绍如何指定参数 使用 首先看一个例子 // 定义三个构造函数 public class UserB…

SLAM中提到的相机位姿到底指什么?

不小心又绕进去了,所以掰一下。 以我个人最直观的理解,假设无旋转,相机在世界坐标系的(5,0,0)^T的位置上,所谓“位姿”,应该反映相机的位置,所以相机位姿应该如下: Eigen::Matrix4d T Eigen::M…

Linux gdb调试的时候没有对应的c调试信息库怎么办?

gdb 调试报错:Missing separate debuginfos, use: debuginfo-install glibc-2.17-260.el7_6.6.x86_64 在centos7上面gdb调试程序时候,报错信息是: Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7_3.5.x86_64 解决…

Redis学习笔记14:基于spring data redis及lua脚本ZSET有序集合实现环形结构案例及lua脚本如何发送到redis服务器

案例实现目标,一、实现一个环形结构,环形结构上节点有一个阀值threshold,超过阀值则移除分数score最低的成员,不足则将当前成员添加进环中,且确保成员不可重复;二、每次访问环中的数据都需要刷新key的过期时间&#xf…

亚马逊云科技AI创新应用下的托管在AWS上的数据可视化工具—— Amazon QuickSight

目录 Amazon QuickSight简介 Amazon QuickSight的独特之处 Amazon QuickSight注册 Amazon QuickSight使用 Redshift和Amazon QuickSightt平台构建数据可视化应用程序 构建数据仓库 数据可视化 Amazon QuickSight简介 亚马逊QuickSight是一项可用于交付的云级商业智能 (BI…

基于circle group的Reed-Solomon codes

1. 引言 Polygon团队Ulrich Habock等人2023年论文 Reed-Solomon codes over the circle group。 前序博客有: Plonky3 Mersenne素数域的Reed-Solomon codes设计 STARKs支持任意size的域,而不要求是椭圆曲线。STARKs中在选择域size时,越小…

Unity中 Start和Awake的区别

Awake和Start在Unity中都是MonoBehaviour脚本中的生命周期函数 Awake函数在游戏对象首次被加载时调用,在游戏对象初始化之前调用。 start函数在游戏对象初始化完成后调用,在update第一次执行前调用。 这两个函数在其生命周期内都只会调用一次&#xf…

替换sql,某个字段特定容

要替换wp_posts表中的wp_posts.post_content字段中的特定文本,可以使用MySQL的UPDATE语句和字符串替换函数来实现。 sql:语句 UPDATE 表名 SET 字段名 REPLACE(字段名, 原本内容, 替换内容);请注意,执行这样的操作可能会对数据库产生较大的…

verilog语言中条件编译ifdef的使用和例子

1条件编译ifdef 如果ifdef后面的参数被编译过,则编译ifdef语句后的内容,忽略else后面的内容,如果ifdef后面的参数没有被编译过,则编译else语句后面的内容,条件编译的范围以ifdef开始,以endif结束&#xff…

Android studio访问选程https接口(.crt handshake)

如果服务器是https的,访问受限怎么办?有两种方法,一种是接受一切证书个人官方正式非正式,当然这样就牺牲了安全性,网上方法很多,我现在教大家如何去验证crt文件 首先服务器是https的,必然有几个…

js数组操作——对象数组根据某个相同的字段分组

js数组操作——对象数组根据某个相同的字段分组 可以使用JavaScript的map()方法和reduce()方法来实现将数组中包含的数组对象的某个字段整合为数组的操作。具体实现方法如下: 假设有以下数组对象arr:let arr [{name: Tom, age: 18, hobbies: [reading,…

SpringBoot的启动流程

一、SpringBoot是什么? springboot是依赖于spring的,比起spring,除了拥有spring的全部功能以外,springboot无需繁琐的xml配置,这取决于它自身强大的自动装配功能;并且自身已嵌入Tomcat、Jetty等web容器&am…