随着软件行业分工的细化,研发同学更加关注研发的功能,对于一些常见的运维部署,比如nginx、docker等不是很熟悉经常使用。今天我们就来看看nginx在项目中能做什么?注:本文主要讨论不加载第三方模块的nginx。nginx目录首先看下nginx安装后的目录(以windows为例)。如下图,只需要关注conf文件夹下的nginx.conf文件即可。如果启动有问题,可以到logs文件夹查看相关日志。nginx.exe是启动程序的入口。HTTP服务器Nginx本身也是一个静态资源服务器。当只有静态资源时,可以使用Nginx作为服务端。如下图所示启动nginx。根据上图中的监听端口,监听80;服务器名称本地主机;你可以直接访问localhost来访问html/index.html。请求结果如下:另外,nginx可以将静态资源和动态资源分离,如下图所示,所以nginx经常被用来作为静态资源服务器,或者用来分离动静资源。反向代理反向代理应该是Nginx做的最多的事情之一。什么是反向代理?为什么需要反向代理服务器?反向代理(ReverseProxy)是指使用代理服务器接受然后转发请求到内部网络的服务器,将从服务器得到的结果返回给互联网上请求连接的客户端。此时代理服务器对外充当反向代理服务器。简单来说,真实服务器不能被外网直接访问,所以需要一个代理服务器,代理服务器可以在和真实服务器处于同一个网络环境的情况下被外网访问。当然也有可能是同一个服务器,端口不同而已。如下图所示:配置如下:负载均衡负载均衡也是Nginx的常用功能。负载均衡就是把请求分发到多个运行单元去执行。一般来说,一个服务通常有多个实例在运行,所以负载均衡很重要。常见的。nginx中常用的负载均衡策略有3种:RR(round-robin)、ip_hash(每次请求根据访问ip的hash结果分配)、weight,配置如下RR:ip_hash:weight:forwardproxy客户端和原始服务器之间的服务器,往往为了从原始服务器获取内容,客户端需要向代理发送请求并指定原始服务器,然后代理服务器将请求转发给原始服务器并将获取的内容返回给客户端。正向代理往往是为了解决客户端无法访问外网ip或者默默写入特定ip地址的问题而设置的,如下图所示:正向代理,代理就是客户端;反向代理,代理就是服务器。本质不同。配置如下:nginx还有很多第三方模块,使其功能更加强大。明天给大家分享如何通过nginx和openresty动态屏蔽异常IP
