Nginx配置反向代理以及负载均衡

Nginx配置反向代理

一、什么是反向代理

        反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。


反向代理的作用:

(1)保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

(2)负载均衡,通过反向代理服务器来优化网站的负载。


二、反向代理实现

(1)我们要访问的内部应用服务器使用tomcat,所以需要安装两个tomcat。(准备工作:tomcat,Linux压缩包上传到虚拟机上)



(2)tomcat准备好过后,需要修改其中一个tomcat的server.xml配置文件,否则两个tomcat启动时端口号会冲突。(在tomcat/conf/server.xml,修改第一个和第二个都可以,我这里修改的为tomcat-test2)




保存修改。

(3)修改nginx配置文件,配置server。新增配置如下:

	upstream tomcat-test1 {
		server 192.168.200.132:8080;
    }
    server {
        listen       80;
        server_name  www.tomcat1.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://tomcat-test1;
            index  index.html index.htm;
        }
    }
	
	upstream tomcat-test2 {
		server 192.168.200.132:8081;
    }
    server {
        listen       80;
        server_name  www.tomcat2.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://tomcat-test2;
            index  index.html index.htm;
        }
    }

(4)添加域名解析到hosts中。(C:\Windows\System32\drivers\etc,Windows环境下hosts所在目录)


(5)重新加载配置文件,启动tomcat,进行测试。


测试结果:





Nginx配置负载均衡


一、配置负载均衡就很简单了,只需要在nginx的配置文件中添加server节点即可。

	upstream tomcat-test2 {
		server 192.168.200.132:8081;
		server 192.168.200.132:8082;
    }

这样就完成了负载均衡,请求会循环分配。

扩展:如果需要对负载进行重新分配,比如8082这个服务器性能要更好,可以处理更多的请求,我们可以在后面加上权重。这样就可以使分配给8082端口所在服务器的请求更多。

	upstream tomcat-test2 {
		server 192.168.200.132:8081;
		server 192.168.200.132:8082 weight=2; //权重越大,分配到的请求越多
    }


猜你喜欢

转载自blog.csdn.net/qq1031893936/article/details/80299374