面试被常问的Nginx


1.反向代理服务器Nginx

Nginx是一款由俄罗斯程序员以C语言开发的一块高性能HTTP服务器,它轻量并且性能极高、支持的功能也相对丰富而且支持组件式拓展和Lua脚本的支持。 正向代理:就是客户端代理,代理的是客户端,请求通过代理服务器去访问服务器。 反向代理:代理的是服务端,客户端对服务端的访问无感,直接面对的就是Nginx。

2.nginx.conf


3.高级配置

3.1 限流

Nginx自带的限流方案有多重,其中用的比较多的有:漏洞算法和令牌桶算法。 漏桶:

http {
    limit_req_zone $binary_remote_addr zone=minorLimit:1m rate=10r/s;
}
server {
    location / {
        limit_req zone=minorLimit;
        proxy_pass http://minor_upstream_1; }
}

rate代表每秒访问的次数,1m代表请求池的大小,1mb可以存储一万多个Request数据。 令牌桶:

http {
    limit_req_zone $binary_remote_addr zone=minorLimit:1m rate=10r/s;
}
server {
    location / {
        limit_req zone=minorLimit burst=20 nodelay;
        proxy_pass http://minor_upstream_1; }
}
burst代表超过请求阈值后能额外处理请求的数量。10r/s就是每100ms处理1个请求。

nodelay:禁止延迟处理burst设置的数量,全部立马处理。

3.2 动静分离

这个概念很好理解,就是将一些静态资源例如HTML、JS文件、图片等和服务器资源进行隔离配置访问。

3.3 长链接

http {
    keepalive_timeout  30s;
    keepalive_requests 10000;
}

Nginx的长链接配置默认是开启的。

3.4 连接池配置

worker_processes 8;#工作进程子数量,建议一般是CPU核心数的2倍 events { use epoll; # 网络IO模式,一般采用epoll性能最高,还有select、poll等。 worker_connections 2048; #连接池大小,控制总的连接数或者文件描述符,根据具体服务器配置来设置 }

4.Nginx多进程模型

Nginx采用固定数量的多进程模型,由一个主进程和多个子进程来共同完成Nginx的能力。 主进程负责工作进程的分配、启动、停止等。 工作进程负责处理具体的HTTP请求,接受客户端连接和响应。 Nginx使用多进程模式原因:

  • 进程之间的空间相互独立,不会涉及并发安全问题。
  • 进程和CPU绑定,节省了多线程模式的CPU切换。(进程调度仍然需要CPU切换消耗)
  • 工作进程相互独立、互不干扰,不会雪崩,如果是多线程模式,如果进程出现故障那么整个服务将受到影响。
#Java##计算机##编程##Java学习#
全部评论
学到了,感谢感谢
点赞 回复 分享
发布于 2022-07-27 19:13

相关推荐

1.实习介绍2.你项目上面提到了长列表渲染优化,详细讲一下吧。3.讲讲这个webpack-bundle-analyse是怎么样的?删除了没出现兼容性的问题吗?4.element-ui的dialog是怎么封装的?那叫你封装一个组件,你会基于什么去封装?5.vue的组件是怎么进行通信的?6.插槽是什么?怎么用?作用域插槽是什么?有什么用?7.大文件上传是基于什么样的背景的?断点续传怎么传的?8.切片上传和断点续传。9.如何对大图片进行压缩?10.SVG有了解过吗?他和canvas有什么区别?11.用vue2多还是vue3多?讲讲vue2和vue3的区别吧。12.那Object.defineProperty这个方法接收几个参数,每个参数分别对应什么?13.vue3里面其实也用到了reflect,了解过吗?14.讲讲webpack为什么比vite快吧?他们之间有什么差异吗?15.为什么vue2里面data要写成函数而不能写成对象呢?16.nextTick了解过吗?什么时候用,举一个具体的例子。原理是怎么样的?17.为什么每个dom要加key值?key有什么作用呢?18.vue3有哪些常用的api吗?19.ref和reactive的区别?那我用reactive定义基本数据类型,ref定义引用数据类型可以不?20.==和===的区别?21.深拷贝和浅拷贝的区别?手动实现深拷贝怎么实现?正则日期那些呢?22.typeOf和instanceOf的应用场景,什么时候应该用谁?23.webpack有哪些常见的配置项呢?vite呢?24.webpack打包的整个过程是怎么样的呢?25.React有了解吗?
查看24道真题和解析
点赞 评论 收藏
分享
评论
3
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务