Nginx--反向代理和负载均衡

版权声明:转载请标明出处~~ https://blog.csdn.net/weixin_43231076/article/details/83096202

1、反向代理的定义:

 反向代理服务器决定哪台服务器提供服务。
 比如:一个在公网上的ip地址,上面安装了多个tomcat服务器,每个服务器都把自己的域名和这个ip地址绑定, 此时从公网来了一个(或多个)访问这个ip地址的请求,都是先经过这个反向代理服务器,再由这个服务器把这些请求, 分发到各自系统的tomcat服务器中。当各自的tomcat服务器把请求处理完,把结果再次返回到反向代理服务器, 再由反向代理服务器返回到internet中,这叫反向代理。

2.nginx实现反向代理:

a)、在服务器电脑上安装两个tomcat服务器,端口分别是8080、8081
b)、在nginx的nginx.conf文件中添加两个server节点,配置俩个虚拟主机

	upstream sina{
		server 192.168.25.130:8080;			--当分发请求到sina时,就是访问 192.168.25.130:8080
	}
	server {
		listen       80;					--虚拟主机都监听80端口
		server_name  www.sina.com.cn;		--这个监听的是www.sina.com.cn域名

		#charset koi8-r;

		#access_log  logs/host.access.log  main;

		location / {
			proxy_pass   http://sina;		--配置这个,当访问www.sina.com.cn时,在通过反向代理,分发请求到 http://sina 中,
			index  index.html index.htm;
		}
	}
	
	upstream sohu{
		server 192.168.25.130:8081;
	}
	server {
		listen       80;
		server_name  www.souhu.com;			--这个监听的是www.souhu.com域名

		#charset koi8-r;

		#access_log  logs/host.access.log  main;

		location / {
			proxy_pass   http://sohu;			--注解同上
			index  index.html index.htm;
		}
	}
c)、在本机的hosts文件中分别配置 www.sina.com.cn、www.souhu.com都绑定服务器的ip,
    再访问这两个域名,就能访问服务器上对应的8080、8081的tomcat服务器
d)、流程说明:当本机访问域名 www.sina.com.cn时,会先把请求发送到nginx服务器,然后nginx根据这个域名,
              找到proxy_pass属性对应的http://sina,然后通过upstream sina,将请求转发到192.168.25.130:8080
			  192.168.25.130:8080接收到请求后,将响应先返回到nginx,nginx再把结果返回到用户

3.nginx负载均衡:

a).定义:如果一个网站的访问量很大,可以使用多个tomcat来部署这个网站,此时可以使用nginx的负载均衡的功能,
	     把访问这个网站的请求分配到不同的tomcat中
b).实现:
   1.在服务器再复制一个tomcat,端口为8082
   2.在nginx.conf文件中的一个server节点的upstream中,增加一个server节点
     upstream sina{
		server 192.168.25.130:8080;			--这里配置两个server,则访问www.sina.com.cn的请求会轮训进入这两个tomcat
		server 192.168.25.130:8082 weight=2;		--weight默认值是1,weight越大,就进入这个tomcat的次数就越多
	 }
	 server {
		listen       80;					--虚拟主机都监听80端口
		server_name  www.sina.com.cn;		--这个监听的是www.sina.com.cn域名

		#charset koi8-r;

		#access_log  logs/host.access.log  main;

		location / {
			proxy_pass   http://sina;		--配置这个,当访问www.sina.com.cn时,在通过反向代理,分发请求到 http://sina 中,
			index  index.html index.htm;
		}
	 }
	3.本机访问www.sina.com.cn,会分别进入192.168.25.130:8080和192.168.25.130:8082,不配置weight则是一个一次轮询

猜你喜欢

转载自blog.csdn.net/weixin_43231076/article/details/83096202