Nginx服务器初学

了解nigix服务器以及其优势功能

nginx简介

  • 俄罗斯开发的一种轻量级的web服务器,不仅非常的小巧,而且还支持反向代理,还能做负载均衡,不管多大的流量,它都能担任.也就说并发能力非常的强,而且Nginx占用内存和CPU也是非常的低,非常适合一些小网站的站长买的低配置的服务器做web服务器来用.这点比Apache要好多了,因为Apache比较吃内存和CPU,而且Nginx的模块非常的丰富,能够满足不同的需求,也非常适合做静态,因为本身就是一个反向代理的服务器!

主要功能

  • 反向代理
  • 负载均衡
  • 动静资源分离
  • web缓存

反向代理


先抄一张图,个人理解反向代理类似于请求转发的性质,请求方并不知道服务器方的信息,而是由中间的nginx服务器进行判断而后转发给服务器,在此过程中,nginx服务器相当于屏蔽了服务器的信息,因此请求方并不会了解服务器的信息,像一些大的网站,由于访问人数很多,就需要多台服务器,这时这些服务器就由一个反向代理服务器来代理,客户端发来请求,先由反向代理服务器,然后按设定分发到各个服务器,而客户端不知道是哪台服务器。这就是nginx的反向代理。

负载均衡

负载均衡是基于反向代理实现的,反向代理中已经介绍到,由于请求次数多,需要多台服务器支持,Nginx代理服务器对收到的请求按一定规则进行分发处理就是是负载均衡。优势是减轻服务器压力,当一台服务器宕机时,其他服务器可以继续正常支持工作。
负载:Nginx接受请求
均衡:分发请求到不同服务器

动静资源分离

动静资源分离是将动态请求和静态请求区分访问,。

由于Tomcat 处理静态资源效率并不高,为了优化性能,提高访问效率,可以让 Tomcat 处理动态资源,让 Nginx 处理静态资源。

nginx搭建以及实现各个功能

搭建运行

我的系统是Windows7版本,安装以及运行还是很简单的。官网上直接下载就可以,服务器集群是本机的tomcat。都是开源免费的。

开启Nginx有两种方法,一种是直接点击开启,一种是命名行开启。这里是点击开启,命令行开启请自行百度搜索。

安装完成后,在文件夹中双击nginx即可。

在浏览器中输入localhost:80见到如下界面就是搭建启动成功。

若启动失败可以去看Nginx的日志查看原因。
在这里插入图片描述

一般都是nginx默认的80端口被占用,在config目录下找到nginx.conf,修改一下配置文件即可。在这里插入图片描述在这里插入图片描述

功能实现

主要是修改配置文件信息来达成各个功能实现。

先了解配置文件中重要参数的作用
listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。

server_name:主要用于配置基于名称的虚拟主机,按照一定顺序对server name进行匹配,只有有一项匹配以后就会停止搜索,所以我们在使用这个指令的时候一定要分清楚它的匹配顺序。

location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里。

root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。

index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

功能实现

反向代理

通过proxy_pass配置请求转发地址。即当访问localhost的指定端口时,请求会跳转至localhost的8080端口处。修改完Nginx的配置后需要重启Nginx。
在这里插入图片描述

动静资源分离

由于tomcat服务器处理静态资源效率比较低下,所以可以将请求分离,静态资源和动态资源进行分离。将html,png等静态资源交于nginx服务器进行处理,具体配置如下:
在这里插入图片描述
这两种方式,第一种是通过正则表达式对请求进行后缀判断,第二种是判断请求的前缀,演示效果如下。
在这里插入图片描述
在这里插入图片描述

负载均衡

在这里插入图片描述
这里是通过权重轮询进行的配置,还有多种其他算法。

weight属性,此属性表示各服务器被访问到的权重,weight越高访问到的几率越高。

其他配置

在这里插入图片描述

备注

初学暂时到这里,后续内容等待添加