Nginx

Nginx


第一章 概述


Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

官方测试nginx能够支撑5万并发连接,并且cup、内存等资源消耗却非常低,运行非常稳定。

Nginx应用场景

  • http服务器。Nginx是一个http服务器可以独立的提供http服务。可以做静态网页服务器

  • 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

  • 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。


第二章 功能


2.1静态资源部署


修改nginx.conf文件的location里root默认位置:将其指向我们想要访问页面上传服务器后所在目录。


2.2虚拟主机


虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极大的促进了网络技术的应用和普及。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。

20220402181415

设置多个server通过更改资源目录实现虚拟主机。


2.3反向代理&负载均衡


正向代理

正向代理类似一个跳板机,代理访问外部资源

比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了

20220402182649

反向代理

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

20220402182731

反向代理的作用:

(1)保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网

(2)负载均衡,通过反向代理服务器来优化网站的负载


将案例部署到tomcat中(ROOT目录),上传到服务器

在nginx.conf中添加

upstream 任意名{
	server ip:端口;
}

在配置文件server中

注释掉root并且在次添加 proxy_pass http://任意名(与上面名字一致);


负载均衡

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

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

将tomcat复制n份(别忘了修改各个tomcat端口)

upstream 任意名{
	server ip:端口1 weight = 2;
	server ip:端口2;
	server ip:端口3;
}

搭建集群后就可以使几个tomcat服务器同时提供服务,默认比例为1,加上weight属性后可以更改,上图为2:1:1