广告
返回顶部
首页 > 资讯 > 操作系统 >Nginx反向代理及负载均衡如何实现(基于linux)
  • 968
分享到

Nginx反向代理及负载均衡如何实现(基于linux)

Nginx反向代理负载均衡linux 2022-06-03 14:06:48 968人浏览 八月长安
摘要

这里来试验下Nginx的反向代理。 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请

这里来试验下Nginx的反向代理。

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

在我们的java项目中的体现就是,通过80端口访问,Nginx接收到,然后进行转发给Tomcat服务器,再将服务器的结果给返回。

这里需要修改nginx.conf文件。


upstream backend {
  #代理的IP weight权重大的,接收的访问量就大,反之
  server localhost:8084 weight=50;
  server localhost:8088 weight=50;
}

将接收的请求进行转发:


# / 所有做负载均衡 + 反向代理
    location / {
      root  /data/wwwroot1;
      index index.html index.htm;#索引文件
      proxy_pass  Http://backend;
    }

这样,通过请求nginx的请求,就可以被分配转发到tomcat上去。这里我是定义了两台tomcat服务器,同时用来做负载均衡的处理。通过设置weight,可以控制访问量。

具体配置代码如下;


#user nobody;
# worker 工作进程 一般设置 CPU数 * 核数
worker_processes 1;
 
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
 
#pid    logs/nginx.pid;
 
# 设置连接特性
events {
  worker_connections 1024;#1个worker产生多少个连接数
}
 
# 配置HTTP服务器的主要段
http {
  include    mime.types;
  default_type application/octet-stream;
 
  log_fORMat main '$remote_addr - $remote_user [$time_local] "$request" '
  #         '$status $body_bytes_sent "$http_referer" '
  #         '"$http_user_agent" "$http_x_forwarded_for"';
 
  #access_log logs/access.log main;
 
  sendfile    on;
  #tcp_nopush   on;
 
  #keepalive_timeout 0;
  keepalive_timeout 65;
     
  #gzip压缩功能设置
  gzip on;
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 6;
  gzip_types text/plain text/CSS text/javascript application/JSON application/javascript application/x-javascript application/xml;
  gzip_vary on;
   
  #设定负载均衡后台服务器列表
  upstream backend {
    #代理的IP weight权重大的,接收的访问量就大,反之
    server localhost:8084 weight=50;
    server localhost:8088 weight=50;
  }
   
   
   
  server {
    listen    2022;
    server_name localhost;
    charset utf-8;
    access_log logs/wwwroot2.access.log main;
    location / {
      root  /data/wwwroot2;
      index index.html index.htm;#索引文件
    }
  }
  # 虚拟主机段
  server {
    listen    80;
    server_name localhost;
    root /data/wwwroot1;
    charset utf-8;
    #访问日志
    access_log logs/wwwroot1.access.log main;
    # / 所有做负载均衡 + 反向代理
    location / {
      root  /data/wwwroot1;
      index index.html index.htm;#索引文件
      proxy_pass  http://backend;
    }
 
    error_page 404       /404.html;
 
    # redirect server error pages to the static page /50x.html
    #
    error_page  500 502 503 504 /50x.html;
    location = /50x.html {
      root  html;
    }
 
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #  proxy_pass  http://127.0.0.1;
    #}
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #  root      html;
    #  fastcgi_pass  127.0.0.1:9000;
    #  fastcgi_index index.php;
    #  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    #  include    fastcgi_params;
    #}
 
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #  deny all;
    #}
  }
 
 
  # another virtual host using mix of IP-, name-, and port-based configuration
  #
  #server {
  #  listen    8000;
  #  listen    somename:8080;
  #  server_name somename alias another.alias;
 
  #  location / {
  #    root  html;
  #    index index.html index.htm;
  #  }
  #}
 
 
  # https server
  #
  #server {
  #  listen    443 ssl;
  #  server_name localhost;
 
  #  ssl_certificate   cert.pem;
  #  ssl_certificate_key cert.key;
 
  #  ssl_session_cache  shared:SSL:1m;
  #  ssl_session_timeout 5m;
 
  #  ssl_ciphers HIGH:!aNULL:!MD5;
  #  ssl_prefer_server_ciphers on;
 
  #  location / {
  #    root  html;
  #    index index.html index.htm;
  #  }
  #}
 
}

 测试结果发现,通过访问80端口的地址,展现的结果是基本五五开的。

还会随机访问到

以上两个截图,分别对应了我的两个tomcat服务器下的测试文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Nginx反向代理及负载均衡如何实现(基于linux)

本文链接: https://www.lsjlt.com/news/11586.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nginx反向代理及负载均衡如何实现(基于linux)
    这里来试验下nginx的反向代理。 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请...
    99+
    2022-06-03
    Nginx 反向代理 负载均衡 linux
  • IIS下的负载均衡与IIS+Nginx实现负载均衡、反向代理
    在IIS下实现负载均衡可以使用Microsoft提供的Application Request Routing(ARR)模块。ARR可...
    99+
    2023-09-01
    IIS
  • 关于nginx负载均衡和反向代理的讲解
    目录负载均衡 负载均衡分类 1、DNS负载均衡 2、IP负载均衡 3、链路层负载均衡 4、混合型负载均衡 负载均衡算法1 轮询2 随机3 最少链接4 Hash(源地址散列)5 加权反...
    99+
    2022-11-12
  • Nginx反向代理与负载均衡概念及upstream模块如何使用
    本篇内容主要讲解“Nginx反向代理与负载均衡概念及upstream模块如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx反向代理与负载均衡概念及upstream模块如何使用”吧!...
    99+
    2023-06-29
  • Nginx反向代理与负载均衡概念理解及模块使用
    目录Nginx负载均衡概念upstream模块的使用方法upstream模块说明http_proxy_module模块完整的案例 Nginx负载均衡概念 准确来说,Nginx是作为N...
    99+
    2022-11-13
  • centos7下如何配置nginx反向代理负载均衡集群
    这篇文章将为大家详细讲解有关centos7下如何配置nginx反向代理负载均衡集群,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。nginx是一个web服务器,类似apache一样,但是比ap...
    99+
    2023-06-05
  • springboot整合Nginx实现负载均衡反向代理的方法详解
    目录一、百度百科二、Nginx作为web服务器三、Nginx处理请求逻辑图四、Nginx的优点五、Nginx应用场景1、反向代理2、负载均衡3、动静分离六、Nginx的常用命令1、启...
    99+
    2022-11-12
  • nginx-1.9.7+tomcat-8.5.15 反向代理+应用负载均衡如何安装配置
    小编给大家分享一下nginx-1.9.7+tomcat-8.5.15 反向代理+应用负载均衡如何安装配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让...
    99+
    2022-10-18
  • 如何理解多种负载均衡算法及其Java代码实现
    本篇文章为大家展示了如何理解多种负载均衡算法及其Java代码实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先给大家介绍下什么是负载均衡负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明...
    99+
    2023-06-17
  • 基于nginx反向代理如何获取用户真实Ip地址
    小编给大家分享一下基于nginx反向代理如何获取用户真实Ip地址,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!引言nginx做反向代理时,默认的配置后端获取到的I...
    99+
    2023-06-29
  • 如何使用LVS实现负载均衡的原理以及安装配置
    这期内容当中小编将会给大家带来有关如何使用LVS实现负载均衡的原理以及安装配置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。负载均衡集群是 loadbalance 集群的简写,翻译成中文就是负载均衡集群。...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作