nginx的反向代理和负载均衡

目录

 

目录

nginx的反向代理和负载均衡

1.nginx的反向代理的使用

(1)语法

(2)举例

(3)测试代理是否成功

 2.负载均衡

(1)负载均衡介绍

(2)举例

(3)测试效果

总结



nginx的反向代理和负载均衡

说明:为了操作方便,我们将所有虚拟机的防火墙都关闭

本次的ip分配

nginx反向代理的服务器
服务器名作用IP地址安装软件
node1-1前端服务器192.168.80.61tengine2.1.0
node1a后端服务器192.168.80.41tomcat7.0
node1b后端服务器192.168.80.31tomcat7.0

 

结构图

1.nginx的反向代理的使用

反向代理就是前端服务器作为后端服务器的代理,代理的是服务器端,所以叫反向代理,nginx使用proxy_pass指令完成反向代理。

(1)语法

语法:proxy_pass URL;
默认值:
上下文:locationif in locationlimit_except

根据官网说明, 使用proxy_pass 设置后端服务器的协议和地址,还可以设置可选的URI以定义本地路径和后端服务器的映射关系。 这条指令可以设置的协议是“http”或者“https”,而地址既可以使用域名或者IP地址加端口(可选)的形式来定义:

proxy_pass http://localhost:8000/uri/;

(2)举例

假如我们有两台tomcat后端服务器,地址是192.168.80.41和192.168.80.31 ,tomcat的端口是8080,启动这两台服务器的tomcat,并且修改首页。

访问41和31虚拟机的tomcat下的web为如下图所示

假设nginx在192.168.80.61中。

在ningx的配置文件的server中,配置两个location,分别代理到上面两个不同的tomcat服务器

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location /web1b{
           proxy_pass http://192.168.80.31:8080/web1b;
        }
        location /web1a{
           proxy_pass http://192.168.80.41:8080/web1a;
        }
    }
}

 

(3)测试代理是否成功

重启nginx后 ,在浏览器中输入不同的地址,测试效果如下:

测试代理成功

 2.负载均衡

(1)负载均衡介绍

在一个nginx服务器中可以配置多个反向代理。使用upstream配置。

ngx_http_upstream_module模块 允许定义一组服务器。它们可以在指令proxy_pass、 fastcgi_pass和 memcached_pass中被引用到(引自官网)

(2)举例

在192.168.80.61的nginx服务器中,配置一个负载均衡,在location中使用proxy_pass指令,指向负载均衡的名字,为了能看到代理效果,还是使用上面的两个后端服务器的web项目。

nginx.conf配置文件如下,负载均衡默认是加权轮询算法,如果没有写weight,默认权为1。

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    upstream nginx{
        server 192.168.80.31:8080;
        server 192.168.80.41:8080;

    }

    server {
        listen       80;
        server_name  www.zdxh.com www.zdxh1.com;
        location / {
            proxy_pass http://nginx;
            index  index.html index.htm;
        }
    }
}

(3)测试效果

重启nginx后,在浏览器中输入地址www.zdxh.com,也可以是ip地址192.168.80.61,连续回车的效果。

 

总结

本文介绍了nginx的反向代理和负载均衡的最简单应用,复杂配置请看官网文档。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值