NGINX负载均衡
代理
1. 正向代理
也就是我们常说的代理,其工作原理为:我访问不了某个网站,但是我能访问一个代理服务器,这个代理服务器他能访问那个我不能访问的网站,于 是我连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来之后返回给我。从网站的角度来说只在代理服务器来取内容的时候有一次记录, 有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理是否告诉网站。
总之,正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服 务器取得内容,客户端向代理发送一个请求并指定目标,然后代理向原始服务器转 交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
2. 反向代理
反向代理就是客户端并不知道代理服务器上没有自己要的内容,对于客户端来说代理服务器就是原始服务器,且客户端不需要做任何特别设置,客户端向反向 代理服务器的命名空间中的内容发送普通请求,接着反向代理服务器判断向何处转 交请求,并将获得的内容返回给客户端,就像是这些内容是他自己的一样。
3. 正向代理和反向代理的区别
正向代理的典型应用是为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理还可以使用缓冲特性减少网络使用率,反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载均衡,或者为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在与同一个URL空间下。
安全方面来说,正向代理允许客户端通过它访问任意网站并且隐藏客户端自身, 因此你必须采取安全措施以确保仅为经过和授权的客户端提供服务。反向代理对外 都是透明的,访问者并不知道自己访问的是一个代理。
NGINX负载均衡操作
实验环境
三台服务器(7或者6,根据自己虚拟机合理分配)
2台Centos:6
1台Centos:7
角色分配
192.168.153.140(Centos:6)NGINX反向代理服务器
192.168.153.131(Centos:6)WEB服务器1
192.168.153.179(Centos:7)WEB服务器2
三台服务器都关闭防火墙和Selinux
反向代理服务器(安装NGINX)
WEB服务器(安装httpd)
开始搭建
一、NGINX反向代理服务器上操作:
1、安装nginx所需依赖
[root@DB ~]# yum -y install gcc pcre-devel openssl-devel
2、上传nginx软件包并安装(做软链接)
&&与的意思,有了&&,便可以使命令依次执行
[root@DB ~]# ls
nginx-1.12.2.tar.gz
[root@DB ~]# tar xf nginx-1.12.2.tar.gz
[root@DB ~]# cd nginx-1.12.2
[root@DB nginx-1.12.2]# ./configure && make && make install
软链接
[root@DB nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
3、修改nginx配置文件做负载均衡
[root@DB nginx-1.12.2]# cd /usr/local/nginx/
[root@DB nginx]# vim conf/nginx.conf
4、启动nginx
[root@DB nginx]# nginx
二、WEB1上操作:
1、安装apache
[root@DB2 ~]# yum -y install httpd
2、修改默认测试页面为web1
[root@DB2 ~]# echo web1 > /var/www/html/index.html
3、启动apache
[root@DB2 ~]# service httpd start
4、浏览器测试
三、WEB2上操作:
1、安装apache
[root@localhost ~]# yum -y install httpd
2、修改默认测试页面为web2(这样可以看出负载均衡的效果)
[root@localhost ~]# echo web2 > /var/www/html/index.html
3、启动apache
[root@localhost ~]# systemctl start httpd
4、浏览器测试
最后一步:
浏览器输入NGINX反向代理服务器IP测试负载均衡效果