内网穿透、nginx(负载均衡、动静分离),2024年最新一位Linux运维大牛的BAT面试心得与经验总结

1 访问原来无法访问的资源,如google
2 可以做缓存,加速访问资源
3 对客户端访问授权,上网进行认证
4 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
5 代理中间进行拦截,可以进行访问控制,限制客户端对内部网络资源的访问。


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/48964d36df8947bab72619dc0faf5af4.png)  
 **反向代理**



反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。


**反向代理的作用**



1 保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网
2 负载均衡,通过反向代理服务器来优化网站的负载
3 可以进行会话保持,确保客户端请求连续发送到同一个后端服务器上,保证用户体验。
4 可以进行 SSL 加密和解密,提高数据传输的安全性。
5 可以通过 CDN 等手段优化网络带宽使用,提高客户端访问速度。


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e6bdf619732340f8a31e8b3aee0486f5.png)


### 


## 2.2 nginx介绍


主要功能有:  
 **反向代理**



做请求转发。用户发送了一个http请求,nginx代理服务器接收请求,然后将请求转发给内部网络上的服务器,
并将从服务器上得到的结果返回给internet上请求连接的客户端。


**负载均衡**



负载均衡:多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,
减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。


**动静分离**



Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,
使整个服务器系统的性能、效率更高。


Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。


### 


## 2.3 nginx负载均衡



负载均衡(Load Balance)意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、
企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器
闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。


**nginx的负载均衡**



所谓负载均衡,就是 Nginx 把请求均匀的分摊给上游的应用服务器,这样即使某一个服务器宕机
也不会影响请求的处理,或者当应用服务器扛不住了,可以随时进行扩容。



1: 在server外面增加配置upstream

upstream 名字 {
server 127.0.0.1: 8080;
server 127.0.0.1: 8081;
}

2: 指定上游名字,则会随机选择其中一个转发。

location / {
include uwsgi_params;
uwsgi_pass 名字;
}

负载均衡策略:https://www.cnblogs.com/liuqingzheng/p/16322504.html


### 


## 2.4 nginx动静分离



是一种通过配置nginx服务器,将静态资源和动态资源分别存放在不同的服务器或路径上,
以提高网站的性能和并发访问能力。把后端所有的静态文件收集起来,用nginx转发。



http {
server {
listen 80;
server_name example.com;

# 配置动态请求的转发
location ~\* \.php$ {
  proxy\_pass http://dynamic\_backend\_server;
}

# 配置静态资源的处理
location /static/ {
  root /path/to/static/folder;
  expires 7d;
  access\_log off;
}

# 配置其它静态资源的处理
location /images/ {
  root /path/to/images/folder;
  expires 30d;
  access\_log off;
}

}
}


在上述配置中,动态请求(以.php结尾的请求)会被转发给名为dynamic\_backend\_server的后端服务器处理,而静态资源则会由nginx自身根据不同的URL路径进行处理。可以根据实际需求,将不同的静态资源放置在不同的路径或服务器上,并配置相应的location规则。


## 


## 3 wsgi uwsgi uWSGI,cgi,fastcgi 分别是什么?



CGI:通用网关接口(Common Gateway Interface/CGI),CGI描述了服务器(nginx,apache)
和请求处理程序(django,flask,springboot web框架)之间传输数据的一种标准

所有bs架构软件都是遵循CGI协议的
一句话总结: 一个标准,定义了客户端服务器之间如何传数据
FastCGI:快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本

FastCGI致力于减少网页服务器与CGI程序之间互动的开销,从而使服务器可以同时处理更多的网页请求
常见的fastcgi服务器:Apache,Nginx,Microsoft IIS
CGI的升级版
WSGI:Python Web Server Gateway Interface,缩写为WSGI,Python定义的Web服务器(比如uWSGI) 和Web应用程序或框架(比如django)之间的一种通用的接口规范

一句话总结:为Python定义的web服务器和web框架之间的接口标准
uWSGI:符合wsgi协议的 web服务器,用c写的,性能比较高,咱们通常用来部署django,flask

一句话总结:一个Web Server(web服务器),即一个实现了WSGI协议的服务器,处理发来的请求及返回响应。
uWSGI:项目上线使用的web服务器
wsgiref:测试阶段使用的
uwsgi:uWSGI服务器实现的独有的协议,用于定义传输信息的类型,是用于前端服务器与 uwsgi 的一种线路协议

一句话总结: uWSGI自有的一个协议


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6e4fb7ddf1ba400dabaff66e56dd27f9.png)


## 


## 4 uWSGI跟Nginx


### 


## 4.1 uWSGI跟Nginx的区别



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

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-JDUf5mc0-1712784965364)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值