nginx的基本配置——反向代理

nginx是现在比较流行的一反向代理的服务器,也是一个IMAP/POP3/SMTP服务器。他最大的特点就是占有内存少,并发能力强。国内有好多公司在用它,包括阿里、网易之类的大厂。
而我们今天主要将的是nginx中的反向代理。
何为反向代理:

反向代理(Reverse
Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
通俗的讲就是我们每次访问的时候都是通过设定的地址去访问,这个地址是我们对外暴露的,而我们真正的地址是通过这个外部的代理走进去的,也就是说当我们不想将自己的ip或者域名暴露外面,我们就可以使用这个nginx的反向代理。然后通过事件触发可以到nginx里面进行事件的分发到具体的域名下去访问。也就是相当与我们不是直接访问服务器的,而是通过nginx然后在找服务器的地址。
好了废话不多说吧:直接进入正题:
安装的过程我们上一篇已经教过大家了,由于我这边的阿里云服务器抽风导致登录不上去,我就直接在windows上使用nginx,我们解压nginx后,会有如图所示的文件夹

这里写图片描述


这里的每一个文件夹都是有他自己的含义的
conf 存放配置文件
html 网页文件
logs 存放日志
sbin shell启动、停止等脚本。
因为我这边使用的是windows的版本的,所以没有sbin,换为一个.exe的执行程序。
其实nginx里面最重要的就是nginx.conf配置文件,这个文件可以说是集所有配置与里面,可以看到这个文件里面的长相

这里写图片描述


我们大致解释一下他每行的意思:
worker_processes 1;表示的是工作进程,设置的话尽量和cpu的个数一样
worker_connections 1024; 单个进程最大连接数(最大连接数=连接数*进程数)
http块级内容 - 设定http服务器
include mime.types; 文件扩展名与文件类型映射表
default_type application/octet-stream;默认文件类型
log_format main ;日志格式设定
access_log /var/log/nginx/access.log main;定义本虚拟主机的访问日志
sendfile on;开启高效文件传输模式
upstream这个里面主要实现的就是代理和负载均衡。
还有一个叫http的,这个就是对外暴露的域名或ip以及端口号。localtion就是我们过滤的规则,upstream可以建立多个,同时http也可以建立多个。
好了,我们直接通过例子来看:
首先我先启动连个程序,ip地址相同但是端口好不一样

这个是8081端口的

这个是8080端口的
好了,两个程序启动了,我们可以直接通过ip加端口号去访问。
因为我们要使用方向代理,所以要修改nginx的配置文件为如下所示

这个是nginx的配置文件
从上面我们可以看到我们设置了两个upstream,同时还配置了两个访问的规则,即访问以/开头的则走zj这个代理,如果访问/zjtest开头的就走test这个代理
修改玩后保存。并且重新加载一下配置文件。
然后访问如下
这里写图片描述

这里写图片描述

可以看到我们可以通过两种方式去访问到我们的数据,但是我们对外直接屏蔽了我们的端口号,即使用我们暴露在外面的localhost:80来统一代理,隐藏了我们自己的真实地址。
nginx可以做好多事情,负载均衡其实也是在upstream里面配置的。他支持很多中方式,这个之后有时间在详细介绍。
我们看到上面配置有个叫location的东西,这个其实可以算是一种访问规则把,他也支持好多的方式,比如正则等。nginx的反向代理的基本配置这个可以算是差不多能达到,但是真正的开发上面上的代理的配置文件写的可比较复杂,比如日志、路由方式,负载均衡的模式,以及ip访问设置等等。这个可以直接去nginx的官网看看,我这边就不细说了。

猜你喜欢

转载自blog.csdn.net/u013825231/article/details/79645482