Ngix基础(转载)
转载一篇介绍Ngix基础的博客
转载链接
作者:大婶N72 链接:https://www.jianshu.com/p/01be3a5bc5b3 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
图片如果失效,请参看原文。
【Nginx是什么】
Nginx是开源的、高性能的HTTP服务器和反向代理服务器;
Nginx可以为反向代理进行负载均衡;
Nginx基于事件架构驱动,模块化、跨平台。
正向代理
举个简单例子,公司的私人电脑不允许访问外网,如果想访问外网只能走测试服务器,那私人电脑想访问外网怎么办?可以设置正向代理,即在浏览器中设置代理服务器(测试服务器),通过代理服务器代理访问外网。出发点是使用者主动去配置代理服务器。 正向向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息,结构如下图所示

反向代理
举个简单例子,在tomcat中发布一个war包,我们可以直接访问这个tomcat,也可以通过一个代理服务器,由代理服务器去访问tomcat,而这个过程并不需要浏览器知道代理服务器,而是通过反向代理来实现。出发点是客户端不知道有代理服务器,代理服务器代理的是服务端。这个过程隐藏了真正处理业务的服务端信息。结构如下图所示:

负载均衡
所谓负载均衡,就是将接受到的请求按照某种规则分摊到其他server上,达到减少单台server压力的作用。结构如下图所示

负载均衡常用调度算法
(1). 轮训(默认):即请求按照顺序逐一分配到服务器,这种方式可以给服务器设置权重(weight),用于跳转请求的分配率,权重越大,被分配到请求的几率越大; (2). ip_hash: 每个请求按照发起客户端的 ip 的 hash 结果进行匹配,这样的算法下一个固定 ip 地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下 Session 共享的问题; (3). fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配。响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少,它是结合了前两者的优点的一种调度算法。但是需要注意的是 Nginx 默认不支持 fair 算法,如果要使用这种调度算法,请安装 upstream_fair 模块。
反向代理配置
(1). 访问域名如何使其正确运行在指定的端口server上,结构如下图所示:

域名到server
(2). 上述测试使用Nginx进行反向代理HTTP请求实质有经过几个步骤。首先,访问www.test.com后,会进入hosts文件,寻到对应访问的IP地址(节省去了域名解析的时间)。而后请求变为127.0.0.1:80,而后借助Nginx中的代理配置,将请求代理到端口为8089的端口,即完成使用域名对127.0.0.1:8089的访问。
(3). 具体nginx.conf的配置
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!