nginx 实现 反向代理 负载均衡

目前正在学习使用nginx作为服务器进行反向代理和负载均衡,所以记录下学的过程;文中所用到的也是从别的博客上学习的,希望不要用于商业用途,仅供学习使用;

这里默认来看文章的都是知道nginx是什么的,也已经有了nginx相关环境了,如果没有去官网(http://www.nginx.cn/install)自己看‘;

1,反向代理

对于前后端分离的项目来说,部署前端项目是很重要的;nginx服务器占用资源少,而且非常简单,自然就是大家的首选;

对于单项目而言,只需要在nginx.conf中简单的配置好location,就很简单;root后面是项目路径,index是主界面;

 

 

location / {

 

root H:\workspace\zmzf_new\xm-levy-ui\dist;

 

index index.html index.htm;

 

}

 

对于多个前端项目部署在同一个nginx服务器中的时候,有两种方案,一种是在nginx.conf中ctrl+c,ctrl+v几个server,修改修改配置就行了,这里不多说了;另外一种是在同一个server中配置多个location来实现同一个端口下,多个项目;

 

 

在访问的时候加上具体的路径就行了;

前后端分离项目中还有一个问题不容忽视,浏览器的跨域问题,使用nginx代理还可以解决跨域问题;使用条件是:访问的接口地址不能写死ip,port否则nginx不会去代理你的请求,从而出现跨域;再配置一个location来代理请求:

 

location /api {

 

            proxy_redirect off;

 

            proxy_set_header Host $host;

 

            proxy_set_header X-Real-IP $remote_addr;

 

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 

            proxy_pass http://192.168.1.21:9293/api;

 

        }

 

 

 

2,负载均衡

 

负载均衡就是你得部署多个服务器,当其中一个挂了,通过nginx会自动帮你转发到另外的服务器上;正常访问的时候,如果你仔细看请求的话,也会发现

请求不一样的服务器是完全随机 的;好了,废话不多说直接看代码;

 

upstream yzq.domain.com {

 

#ip_hash;

 

server 192.168.1.215:8089 weight=2;

 

server 192.168.1.207:18089 weight=1;

 

}

 

 

upstream是放在http中的,跟server同级,yzq.domain.com是我随便起的一个名字,跟下面的一个配置名称一样;upstream中的两个server就分别是

两个服务器的地址了,weight是负载的时候的权重,还有写其他参数,这里不多说了,自己去查;

 

server {

 

listen 5555;

 

server_name localhost;

 

charset utf-8;

 

location / {

 

            # proxy_redirect off;

 

            proxy_set_header Host $host;

 

            proxy_set_header X-Real-IP $remote_addr;

 

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 

            proxy_pass http://yzq.domain.com;

 

        }

 

}

 

 

上面server中的proxy_pass就是upstream后面的名字;

只是记录下学习使用的过程,还有很多东西没写到,希望遇到问题大家一起交流;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值