【前端面试】nginx面试整理

Nginx

一个 轻量级/高性能的反向代理Web服务器,实现非常高效的反向代理、负载平衡,可处理2-3万并发连接数,官方监测能支持5万并发

正向代理和反向代理

正向代理:一个人发送一个请求直接就到达了目标的服务器(将真实的客户端隐藏)
反方代理:请求统一被Nginx接收,nginx反向代理服务器接收到之后,按照一定的规则分发给后端的业务处理服务器进行处理(将真实的服务端隐藏)
	优点:反向代理服务器可以隐藏源服务器的存在和特征。它充当互联网云和web服务器之间的中间层。安全性好,例:使用web托管服务时

为何要使用ningx

跨平台、配置简单、节省宽带、稳定性高、接收用户请求是异步的

Nginx性能高

因为它的事件处理机制:异步非阻塞事件处理机制,提供队列,排队解决

优点

占内存小,高并发连接,处理响应快
可实现http服务器、虚拟主机、方向代理、负载均衡
Nginx配置简单
不会暴露正式的服务器地址

缺点

动态处理差:nginx处理静态文件好,耗费内存少,但处理动态页面不理想,现在前端一般用nginx作反向代理抗住压力

用Nginx解决前端跨域问题

使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址

Nginx虚拟主机的配置

基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站
	需要建立/data/www /data/xx目录,windows本地hosts添加虚拟机ip地址对应的域名解析;对应域名网站目录下新增index.html文件
基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台
	使用端口来区分,浏览器使用域名或ip地址:端口号 访问
基于ip的虚拟主机

location的作用

location指令的作用是根据用户请求的URI来执行不同的应用(也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。)

限流

Nginx限流:限制用户请求速度,防止服务器受不了

Nginx负载均衡的算法

避免服务器崩溃,会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。
策略
	轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某个服务器宕机,能自动剔除故障系统
	权重 weight:
		weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源
	ip_hash( IP绑定):每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题
	fair(第三方插件)
		必须安装upstream_fair模块。
		对比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配
	url_hash(第三方插件):按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。

实际应用

知道nginx如何处理请求:见面试图片文件
部署过程描述:
	安装nginx
		在服务器中获取权限(sudo su root),然后安装nginx(apt-get install nginx),查看是否安装成功(nginx -v)
	修改nginx配置文件
		修改配置文件/etc/nginx/nginx.conf的部分内容,在http中增加server如下,改图参考图片文件中的图2;注:如果是自己电脑作为服务器,root改为前端npm run build后生成的dist文件夹
	nginx服务启动
		验配置是否正确(nginx -t);重新加载修改的配置(nginx -s reload);重新启动(service nginx restart);访问成功即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值