反向代理、负载均衡

朱雀 2022-02-19 09:45 436阅读 0赞
反向代理:

有一群服务器集群,并且服务器集群中的每台服务器内容一样时,我们要直接从个人电脑访问到服务器集群服务器的时候无法访问,必须通过第三方服务器才能访问集群。通过第三方服务器知道要访问哪一台服务器提供的内容,此时的代理方式称为反向代理。

负载均衡

在访问服务器集群的时候 ,用户的访问会先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,将该访问请求引入选择的服务器。(nginx会给你分配服务器压力小的去访问)

nginx反向代理与负载均衡的实现

用户访问网站的时候首先会访问nginx服务器,然后nginx服务器在从服务器集群中选择压力较小的服务器,将该访问请求引向该服务器。

反向代理的配置: proxy_pass

项目的开发机地址填写到proxy_pass后

  1. server{
  2. listen 80
  3. location / {
  4. proxy_pass http://12.12.12.12:123456
  5. }
  6. }

介绍三个指令:

  • ip_hash指令:如果第一次访问该服务器后被记录,之后的访问都是该服务器
  • server指令
  • upstream指令及相关变量

    // 修改nginx.conf
    worker_processes 1;//工作进程数,和cpu核数相同
    events {

    1. worker_connections 1024;//每个进程允许的最大连接数

    }
    http { //负载均衡模块

    1. upstream firstdemo { //服务器
    2. ip_hash;
    3. server 39.106.145.33;
    4. server 47.93.6.93;
    5. }
    6. server { //实现反向代理
    7. listen 8080; //监听端口
    8. location / { //访问根路径
    9. proxy_pass http://firstdemo;//代理到firstdemo的两个服务器上
    10. }
    11. }

    }

一般我们会设置一个server_name,用指定域名的方式去访问

  1. server {
  2. listen 80;
  3. server_name test.weiqiujuan.com ;
  4. auth_basic off;
  5. location / {
  6. proxy_pass http://10.10.10.10:20186;
  7. proxy_set_header Host $host;
  8. proxy_redirect off;
  9. proxy_set_header X-Real-IP $remote_addr;
  10. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  11. proxy_connect_timeout 60;
  12. proxy_read_timeout 600;
  13. proxy_send_timeout 600;
  14. }
  15. }

这样开发,产品,设计均可以通过域名“test.weiqiujuan.com”来访问开发环境,进行各类走查。

nginx常用命令:

  1. 查看版本号:nginx -v
  2. 启动nginx: nginx
  3. 关闭nginx: nginx -s stop,停止nginx服务
  4. 修改配置之后,重启nginx: nginx -s reload
  5. 检查配置是否正确: nginx -t(ok或者successful表示成功)

发表评论

表情:
评论列表 (有 0 条评论,436人围观)

还没有评论,来说两句吧...

相关阅读

    相关 反向代理负载均衡

    > > > > > > > > 反向代理和负载均衡 1.什么是正向代理? 答:正向代理是针对客户端而言的。客户端想访问一个网站,但上不了网,可是客户端却能访问一个叫做代理服

    相关 nginx反向代理负载均衡

    1、正向代理 正向代理就是我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。 ![70][] 2、反向代理 在计算机网络中,反向代理是一种代理服

    相关 反向代理负载均衡

    反向代理: > 有一群服务器集群,并且服务器集群中的每台服务器内容一样时,我们要直接从个人电脑访问到服务器集群服务器的时候无法访问,必须通过第三方服务器才能访问集群。通过