序言
Nginx是两个高效能的HTTP和逆向全权web伺服器,与此同时也提供更多了IMAP/POP3/SMTP服务项目。Nginx是由米哈伊尔·赛索诺夫为白俄罗斯用户数量第三的http://Rambler.ru公交站点(俄语:Рамблер)合作开发的,第三个申明版0.1.0正式发布于2004年10月4日。 其将源码以类BSD许可的方式正式发布,因它的灵活性、多样的目褐、实例命令行和低计算资源的耗用而闻名于世。2011年6月1日,nginx 1.0.4正式发布。 Nginx是这款轻量的Web 伺服器/逆向全权伺服器及邮件(IMAP/POP3)全权伺服器,在BSD-like 协定下发行。其特征是占据缓存少,mammalian潜能强,事实上nginx的mammalian潜能在同类型的页面伺服器中整体表现良好,中国内地采用nginx中文网站采用者有:腾讯、天猫、新浪、网易、腾讯、淘宝网等。
产品目录
Nginx服务项目加速进阶
一、Nginx如是说
甚么是Nginx? 为甚么要使用Nginx? 甚么是萨德基全权? 甚么是逆向全权?二、Nginx在Linux下的加装
下载 加装三、Nginx实用性进阶
命令行 逆向全权一般而言伺服器 逆向全权几台伺服器四、运转试验
开启服务项目 停用服务项目五、负载平衡
甚么是阻抗平衡? 实用性Nginx阻抗平衡一、Nginx如是说
1. 甚么是Nginx?
Nginx (engine x) 是两个高效能的HTTP和逆向全权web伺服器,与此同时也提供更多了IMAP/POP3/SMTP服务项目。
其特征是占据缓存少,mammalian潜能强,实际上nginx的mammalian潜能在同类型的页面伺服器中整体表现良好。
2. 为甚么要采用Nginx?
随着现今网络的快速发展,sizes伺服器已然难以贯穿数百个以至科季夫采用者的稳步出访。比如说两台Tomcat伺服器在平庸状况下只能够可以忍受住2000个左右的mammalian量,为了化解这个问题,就需要几台Tomcat伺服器来进行阻抗平衡。
那么,应该如何实现阻抗平衡?Nginx就是其中的一种化解方案,当采用者出访中文网站时,Nginx拦截到这个出访请求,并将其通过轮询的方式均匀地分配到不同的伺服器上。
h值来选择伺服器,这也是一种优秀的阻抗平衡方式。 所以,掌握Nginx成为了Web合作开发学习道路上不可缺少的一部分。
3. 甚么是萨德基全权?
萨德基全权,就是客户端将自己的请求率先发给全权伺服器,通过全权服务项目器将请求转发给伺服器。我们常用的VPN就是一种全权伺服器,为了可以连上国外的中文网站,客户端需要采用两个可以连接外网的伺服器作为全权,并且客户端能够连接上该全权伺服器。
4. 甚么是逆向全权?
逆向全权与萨德基全权不同,萨德基全权是全权了客户端,而逆向全权则是全权伺服器端。在有几台伺服器分布的情况下,为了能让客户端出访到的IP地址都为同两个中文网站,就需要采用逆向全权。
明白了逆向全权的工作机制后,接下来就可以进入Nginx的学习!
二、Nginx在Linux下的加装
由于Nginx被大量采用在Web伺服器中,所以本教程选择了Centos伺服器的7.4版作为演示!
1. 下载
进入官方下载页面:http://nginx.org/en/download.html,选择Stable version稳定版进行下载,并上传至伺服器。
2. 加装
上传tar包至伺服器后,解压到当前产品目录
进入解压后的产品目录,执行configure脚本
采用make命令进行加装
加装完成后,采用whereis命令查找Nginx的加装位置 (默认加装在/user/local/产品目录下)
进入加装产品目录下的bin文件夹,开启nginx服务项目,出访伺服器默认的80端口查看是否加装成功!
三、Nginx实用性进阶
1. 命令行
在Nginx的加装产品目录下有两个conf文件夹,打开其中的nginx.conf文件
2. 逆向全权一般而言伺服器
那么,如何采用Nginx进行逆向全权?
在location参数中添加proxy_pass字段,并填写需要逆向全权的伺服器地址与端口号:
注意:每一行的实用性都需要以封号结尾!!!
3. 逆向全权几台伺服器
如果有几台伺服器怎么办?除了不断地添加proxy_pass参数,更好的化解方案是实用性upstream伺服器组!
在命令行的http块中添加upstream属性:
四、运转试验
1. 开启服务项目
实用性完成后,进入Nginx加装产品目录下的sbin文件夹,运转nginx程序即可:
如果之前已经开启,无需停用nginx服务项目,只需要让nginx重新加载命令行即可:
刷新浏览器,若逆向全权成功,出访的路径会自动映射到命令行中的伺服器地址!
将来,随着采用者量的增长,可能需要添加新的伺服器;这时只需要修改命令行,采用 nginx -s reload 命令即可,无需停用nginx伺服器!
2. 停用服务项目
停用nginx服务项目的方式一般分为两种:
五、阻抗平衡
1. 甚么是阻抗平衡?
由于不同伺服器的实用性不同,为了让性能高的伺服器分配到更多的请求,便引入了阻抗平衡的概念。
前面提到过,Nginx的阻抗平衡方式可以有很多种,如加权轮询(默认)、IP哈希、url哈希等等,这里就以加权轮询作为如是说。
加权轮询,也就是通过给伺服器添加各自的权重值,Nginx通过权重来进行请求的分配,权重越高接收到的请求数量越多,反之越少:
上图实用性了三台伺服器,在加权轮询的模式下,6次不同的请求中,权重为3的伺服器将会分配到3次请求,权重为2的伺服器会分配到2个请求,权重为1的伺服器则会分配到1个请求。阻抗平衡大大减少了在高mammalian的环境下伺服器宕机的风险!
2. 实用性Nginx阻抗平衡
同样地,打开nginx.conf文件进行实用性:
在upstream块中添加weight参数:
添加完成后执行 nginx -s reload 即可!
![Nginx超详细入门教程,收藏慢慢看19 Nginx超详细入门教程,收藏慢慢看](https://pic1.zhimg.com/v2-91e63afc3a7fb85b5629a094ec4e1f08_180x120.jpg)
![Nginx超详细入门教程,收藏慢慢看20 Nginx超详细入门教程,收藏慢慢看](https://pic1.zhimg.com/v2-e647080915164bf067252bf1b89b4b00_180x120.jpg)
![Nginx超详细入门教程,收藏慢慢看21 Nginx超详细入门教程,收藏慢慢看](https://pic2.zhimg.com/v2-532aa1787e53dcae6d3abed1ba4f06d5_180x120.jpg)
![Nginx超详细入门教程,收藏慢慢看22 Nginx超详细入门教程,收藏慢慢看](https://pic3.zhimg.com/v2-521f88f7d97a864158a287595bebf852_180x120.jpg)
作者:Java小叮当
链接:https://juejin.cn/post/6924534276323016711 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。