Nginx的优化配置

| user root root; | 默认用户是nobody,如果nginx需要访问某些比如root类权限的文件,会提示403错误,修改这个可以通过root去访问 |

| worker_processes 2;

worker_cpu_affinity 01 10 | nginx默认是没有开启利用多核cpu的配置的。需要通过增加worker_cpu_affinity配置参数来充分利用多核cpu,cpu是任务处理,当计算最费时的资源的时候,cpu核使用上的越多,性能就越好。解释:01表示启用第一个CPU内核,10表示启用第二个CPU内核worker_cpu_affinity 01 10;表示开启两个进程,第一个进程对应着第一个CPU内核,第二个进程对应着第二个CPU内核。 |

| error_log /var/log/nginx/error.log warn; | 错误日志级别 |

| worker_rlimit_nofile 20480; | 更改worker进程的最大打开文件数限制, 如果没设置的话,这个值为操作系统的限制, 所以把这个值设高,这样nginx就不会有“too many open files”问题了。设置了这个后,修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值(其实核心原因就是程序打开的文件/socket链接数量超过系统设定值) |

| use epoll; | 使用epoll的I/O模型,这个不用说了吧。{select/pool/kqueue/epool ; select、poll是标准工作模式、kquque、epoll是搞笑工作模式,epoll是用在linux系统。kqueue是用在bsd系统(unix的衍生系统) |

| worker_connections 20480; | nginx默认的并发连接数是1024,如果网站访问量过大,就需要调整这个值,值越大能够支撑的并发数也就越大。但是最终的天花板是CPU; 理论上每台nginx服务器的最大连接数为worker_processes*worker_connections |

| accept_mutex off; | 当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有的Worker都会被唤醒,不过只有一个Worker能获取新连接,其它的Worker会重新进入休眠状态,这就是「惊群问题」。假设你养了一百只小鸡,现在你有一粒粮食,那么有两种喂食方法:你把这粒粮食直接扔到小鸡中间,一百只小鸡一起上来抢,最终只有一只小鸡能得手,其它九十九只小鸡只能铩羽而归。这就相当于关闭了accept_mutex。你主动抓一只小鸡过来,把这粒粮食塞到它嘴里,其它九十九只小鸡对此浑然不知,该睡觉睡觉。这就相当于激活了accept_mutex。可以看到此场景下,激活accept_mutex相对更好一些,让我们修改一下问题的场景,我不再只有一粒粮食,而是一盆粮食,怎么办?此时如果仍然采用主动抓小鸡过来塞粮食的做法就太低效了,一盆粮食不知何年何月才能喂完,大家可以设想一下几十只小鸡排队等着喂食时那种翘首以盼的情景。此时更好的方法是把这盆粮食直接撒到小鸡中间,让它们自己去抢,虽然这可能会造成一定程度的混乱,但是整体的效率无疑大大增强了。 |

| include /etc/nginx/mime.types; | 这里我们使用它来加载文件扩展名与文件类型映射表。nginx根据映射关系,设置http请求响应头的Content-Type值。当在映射表找不到时,使用nginx.conf中default-type指定的默认值。 |

| default_type application/octet-stream; | 指定默认类型为二进制流,也就是当文件类型未 定义时使用这种方式 |

| sendfile on; | 开启高效传输模式 |

| keepalive_timeout 60; | http连接的超时时间 |

| include extra/*.conf; | 通过不同配置文件进行管理 |

extra/upstream.conf


upstream gupaoedu{

server 192.168.11.152:8080;

server 192.168.11.153:8080;

}

extra/vhost.conf


server {

listen 80;

server_name www.gupao.com

access_log off;

error_log off;

location / {

proxy_pass http://gupaoedu; #选择对应的负载均衡配置

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
/topics/618164986)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值