nginx优化总结及系统内核优化

一、nginx优化

1. 性能优化:

需求内容实现
IO多路复用use epoll;
设置工作进程数worker_processes 与CPU数量相同或auto;
工作进程静态绑核worker_cpu_affinity
设置并发worker_connections worker_rlimit_nofile
连接保持超时keepalive_timeout 服务器超时时间 [客户端超时时间];
网页压缩gzip on;
页面缓存时间expires 时间;

2. 安全优化:

需求内容实现
隐藏版本号server_tokens off; || 修改源代码
防盗链valid_referers if ($invalid_referer) {rewrite }
设置运行用户/组user 用户名 组名;
限制单个ip的访问频率limit_req_zone limit_req
限制单个ip的连接数limit_conn_zone limit_conn

二、系统内核优化

vim /etc/sysctl.conf  #内核参数配置文件net.ipv4.tcp_syncookies = 1                  #开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击net.ipv4.tcp_tw_reuse = 1                   # 开启重用,允许将TIME-WAIT sockets重新用于新的TCP连接net.ipv4.tcp_tw_recycle = 1                 # 开启TCP连接中TIME-WAIT sockets的快速回收net.ipv4.tcp_fin_timeout = 30               # 修改系默认的 TIMEOUT 时间(MSL值)net.ipv4.tcp_max_tw_buckets = 6000          # 系统同时保持TIME-WAIT的最大数量net.ipv4.ip_local_port_range = 1024 65535   # 外向连接的端口范围,默认为32768 60999net.ipv4.tcp_max_syn_backlog = 65536         #系统能接受的tcp半连接的最大队列数,TCP三次握手建立阶段接受SYN请求队列的最大长度net.core.somaxconn = 65536                   #每一个端口最大的 Listen 监听队列的长度(排队等待接收的最大连接数)   需要配合Nginx的配置参数一起调整 listen 80 backlog=65536; net.ipv4.tcp_keepalive_time = 600            #发送keepalive探测包消息的频率,确认客户端是否断网-----------------------------------------------------------------------------------------------------
vi /etc/security/limits.conf   内核限制文件
* 	soft 	noproc			65535      #打开的进程数
* 	hard 	noproc			65535
* 	soft 	nofile			65535      #打开的文件数
* 	hard 	nofile			65535
* 	soft 	memlock 		unlimited     #不做内存锁定
* 	hard 	memlock 		unlimited

三、nginx常用模块

模块名模块作用
ngx_http_core_module核心模块,提供了基本的 HTTP 功能,如请求处理、重定向、访问控制等。
ngx_http_ssl_moduleSSL/TLS 模块,用于支持 HTTPS 协议,提供了加密通信和安全认证功能。
ngx_http_proxy_module反向代理模块,用于将客户端请求转发到后端服务器,并将后端服务器的响应返回给客户端。
ngx_http_rewrite_module重写模块,用于重写 URL,修改请求头和请求体等。
ngx_http_gzip_modulegzip 压缩模块,用于在服务器端对响应内容进行压缩,减少传输数据量,提高网站加载速度。
ngx_http_fastcgi_moduleFastCGI 模块,用于与 FastCGI 应用程序通信,实现动态内容的处理和生成。
ngx_http_limit_req_module请求限速模块,用于限制客户端的请求速率,防止恶意请求或者 DDoS 攻击。
ngx_http_geoip_moduleGeoIP 模块,用于根据客户端的 IP 地址获取其地理位置信息,用于内容定制和访问控制。
ngx_http_access_module访问控制模块,用于设置访问规则,允许或拒绝特定的客户端请求。
ngx_http_headers_moduleHTTP 头部处理模块,用于添加、修改或删除 HTTP 请求和响应的头部信息。
ngx_http_cache_moduleHTTP 缓存模块,用于在服务器端缓存响应内容,加速对重复请求的响应。
ngx_http_stub_status_module状态监控模块,用于实时监控 Nginx 的运行状态和性能指标。

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

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

相关文章

2024年150道高频Java面试题(二十八)

55. 解释一下 Java 中的等待/通知机制。 Java中的等待/通知机制是线程间通信的一种方式,它通过Object类的三个方法来实现:wait(), wait(long timeout), 和 notify(), 以及 notifyAll()。 wait(): 当一个线程调用一个共享对象的 wait() 方法时&#xff…

Java实现二叉树(下)

1.前言 http://t.csdnimg.cn/lO4S7 在前文我们已经简单的讲解了二叉树的基本概念,本文将讲解具体的实现 2.基本功能的实现 2.1获取树中节点个数 public int size(TreeNode root){if(rootnull){return 0;}int retsize(root.left)size(root.right)1;return ret;}p…

蓝桥杯每日一题:奶牛回家(最短路径)

晚餐时间马上就到了,奶牛们还在各自的牧场中悠闲的散着步。 当农夫约翰摇动铃铛,这些牛就要赶回牛棚去吃晚餐。 在吃晚餐之前,所有奶牛都在自己的牧场之中,有些牧场中可能没有奶牛。 每个牧场都通过一条条道路连接到一个或多个…

【C++算法模板】KMP算法:字符串匹配算法

文章目录 0)概述1)求解next数组2)求解匹配位置的核心函数3)完整代码 0)概述 在做模式串与文本串的匹配问题时,匹配失败时,如果每次都只向后递进一位,时间复杂度为 O ( n m ) O(nm…

314_C++_QT表格的撤销、恢复,可对多行、多item进行撤销、恢复操作

行–删除后的,撤销、恢复图示: 原图示 删除后 撤销操作 恢复操作 item修改后的撤销、恢复 原item 撤销修改 恢复修改 代码: --</

[开发日志系列]PDF图书在线系统20240415

20240414 Step1: 创建基础vueelment项目框架[耗时: 1h25min(8:45-10:10)] 检查node > 升级至最新 (考虑到时间问题,没有使用npm命令行执行,而是觉得删除重新下载最新版本) > > 配置vue3框架 ​ 取名:Online PDF Book System 遇到的报错: 第一报错: npm ERR! …

实时避障系统开启盲人独立出行新时代

作为一名资深记者&#xff0c;我始终关注并报道科技如何助力特殊群体克服生活挑战的创新实践。近期&#xff0c;我有幸深入了解了一款专为盲人设计的辅助应用叫做蝙蝠避障&#xff0c;它以实时避障系统为核心&#xff0c;为视障人士独自出行提供了强有力的支持&#xff0c;悄然…

服务器挖矿病毒解决ponscan,定时任务解决

服务器挖矿病毒解决ponscan&#xff0c;定时任务解决 挖矿病毒会隐藏chattr的操作权限&#xff0c;让我们无法删除病毒文件&#xff0c;杀掉病毒进程。所以要去下载chattr.c的文件&#xff0c;编译成a.out。然后再对原来的chattr文件的权限进行修改。然后覆盖掉它。 chattr.c …

JavaFX制作login页面

JavaFx制作简单的login页面demo public class LoginFxDemo extends Application {public static void main(String[] args) {Application.launch(args);}Overridepublic void start(Stage primaryStage) throws Exception {Label nLabel new Label("姓名:");nLabel.…

编曲知识19:自动化处理 发送原理 混响 延迟

自动化处理 发送原理 混响 延迟小鹅通-专注内容付费的技术服务商https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_661a68eae4b023c0a96a8b36?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv 自动化处理 自动化 鼠标挪动到轨道左下角打开自动化轨道 或右键轨道-左键单击…

Softmax函数和Sigmoid函数的思考

【为什么 Softmax 函数面对二分类问题时可以简化为 Sigmoid 函数】 将二分类问题当成普通多分类问题&#xff0c;神经网络如下所示&#xff1a; 因为有两个分类&#xff0c;所以需要有两个输出&#xff0c;然后经过 Softmax 后得到每个分类的预测概率。 假设第一个分类的得分…

独孤思维:喜欢看小姐姐跳舞,没法赚钱

01 独孤写文章的第一年&#xff0c;有一个同行特别有意思。 主动找我&#xff0c;说文章写得不错&#xff0c;想打赏。 但是我没开打赏功能。 当时&#xff0c;我说感觉写得并不好&#xff0c;就没好意思开。 他说&#xff0c;没关系的&#xff0c;他就觉得写得好&#xf…

SpringBoot 日志系统解析

日志实现框架 常见框架: JULLogbacLog4jLog4j2 日志实现的抽象层 避免代码的改动影响用户的使用, 常见的: JCLSLF4J 日志发展历程 JDK1.3及以前, 通过System.(out | err).println打印, 存在巨大缺陷解决系统打印缺陷问题出现log4,2015年8月停止更新受到log4j影响, SUN公…

AI助力,程序员压力倍增?

讲动人的故事,写懂人的代码 你知道程序员现在在AI辅助编程时最头疼的事情是什么吗?就是怎么在改代码的时候保住小命。 大家都听过程序员因为工作太累导致过劳湿的事情。 无论是写新功能、修bug,还是更改系统配置,都得改代码。 现在有了AI的帮助,本应该轻松很多,为什么…

linux文件访问权限理解

目录 一&#xff0c;涉及指令: 二&#xff0c;权限的表示 三&#xff0c;权限命令使用 一&#xff0c;涉及指令: umask chmod chown/chgrp 二&#xff0c;权限的表示 rwx rwx r-x含义: 访问方式: r-可读;w-可写&#xff1b;x-可执行&#xff1b; 访问用户:u-所有者;…

css 实现排行榜向上滚动

使用动画实现无线向上滚动 复制一层dom&#xff0c;使用动画向上滚动&#xff0c;鼠标hover的时候暂停动画 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthd…

Vue中component lists rendered with v-for should have explicit keys异常

在 Vue.js 中&#xff0c;当你在组件列表中使用 v-for 指令渲染多个组件时&#xff0c;每个组件元素都应当有一个明确的 key 属性。Vue.js 引擎通过这个 key 来优化虚拟 DOM 的 diff 过程&#xff0c;提升页面更新效率&#xff0c;并确保状态保持一致。 例如&#xff0c;如果你…

Java Lambda表达式

Lambda表达式是Java 8中引入的一种新特性&#xff0c;它允许你以更简洁的方式编写匿名函数。Lambda表达式主要用于简化集合操作、线程创建等场景。以下是Lambda表达式的详解&#xff1a; Lambda表达式的基本语法&#xff1a; (parameters) -> expression或者 (parameters…

02 | 事件驱动框架(Get/Set)

02 | 事件驱动框架&#xff08;Get/Set&#xff09; 【程序员的末路诗】01 aeEventLoop数据结构1&#xff09;aeEventLoop2&#xff09;aeFileEvent3&#xff09;aeTimeEvent 02 epoll 实例创建&#xff08;epoll_create&#xff09;1&#xff09;创建eventLoop结构体2&#xf…

香港科技大学广州|智能制造学域博士招生宣讲会—广州大学城专场

香港科技大学广州&#xff5c;智能制造学域博士招生宣讲会—广州大学城专场 时间&#xff1a;2024年4月18日&#xff08;星期四&#xff09;14:30 地点&#xff1a;广州市大学城雅乐轩酒店二楼策略2厅&#xff08;地铁大学城南站C口&#xff09; 报名链接&#xff1a;https:/…