Nginx 的正向代理、反向代理、负载均衡

一、原理概述

1 正向代理

正向代理通俗的讲就是通过Nginx服务器,让客户端去访问原本访问不到的服务器。例如我们常见的翻墙去访问国外的网站。此时Nginx服务器就是作为一个中介。这种代理方式中,服务器清楚的知道需要访问的目标网站,但是屏蔽了请求的来源,我们只知道请求从哪个代理服务器过来,但是不知道具体是从哪个客户端来。

2 反向代理

反向代理代理的是服务器端,当服务是由一组服务器共同提供时,代理服务器把客户端发出的分发到不同的服务器上去,并把这个服务器返回的内容送给客户端。对于客户端来讲,它只知道内容从代理服务器中来,但不知道内容具体是从哪里获取来的。

3 负载均衡

说完了反向代理,再说负载均衡就会简单很多。负载均衡的意思就是在反向代理的基础上加上“均衡”的概念。就是说,当客户端请求量很大时,代理服务器会把请求分发到压力最小的那台服务器中,这样服务器集群中的每台服务器压力就会趋于平衡。让多台服务器共同提供服务器,避免并发量高的时候,服务器崩溃。

二、实践

1.安装Nginx

安装细节这边不做过多讲解,网上一搜多的是。在安装过程中,可能会由于没有pcre zlib库导致安装失败,这个在安装的过程中系统会提示,根据提示下载安装相应的库即可。

2.启动Nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

这个是以默认的配置启动Nginx ,也可以修改配置后重启。

三、遇到的问题

1.端口被占用

我在启动的时候报错了,说80端口已被占用,我看了一下就是我Nginx占用的,可能是以前搞的。不管他,查出Nginx的进程号ps -ef| grep nginx,然后停止他kill -QUIT 进程号,然后再次启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf,成功!如果不是Nginx占用的,那就查一下80端口是哪个占用的,然后停掉他再启动

2.启动成功后无法访问

这个我查了不少时间,最后发现是因为我用的阿里云服务器,安全组里面我开放的端口是8080/8989,没包括80,改成80/8989后再试,就成功了!

Nginx 的正向代理、反向代理、负载均衡


分享到:


相關文章: