Nginx使用反向代理实现负载均衡过程解析

 更新时间:2019年09月24日 10:24:26   作者:她的开呀  
这篇文章主要介绍了Nginx使用反向代理实现负载均衡过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

简介

基于docker容器以及docker-compose,所以需要自学docker在linux环境的基本使用

使用两个tomcat作为负载均衡的服务端

1.使用docker拉取tomcat和nginx镜像

拉取nginx参考

拉取tomcat参考

2.使用docker-compose创建两个tomcat服务

新建tomcat目录,在该目录下创建docker-compose.yml文件,输入如下内容:

version: '3'
services:
  tomcat1:
    image: tomcat
    container_name: tomcat1
    ports:
      - 9090:8080

  tomcat2:
    image: tomcat
    container_name: tomcat2
    ports:
      - 9091:8080

在该docker-compose.yml同一目录下运行如下命令启动容器(-d 表示后台运行)

docker-compose up -d

成功后查看docker容器列表

命令

docker ps

结果示例有tomcat1和tomcat2两个容器

CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS     NAMES
271dd3610d1d  tomcat    "catalina.sh run" 58 minutes ago  Up 58 minutes  0.0.0.0:9091->8080/tcp tomcat2
fa19d20f0022  tomcat    "catalina.sh run" 58 minutes ago  Up 58 minutes  0.0.0.0:9090->8080/tcp tomcat1

以交互的方式进入容器,修改首页内容,以便区分两个tomcat(下面已tomcat为例)

命令

docker exec -it fa19d20f0022 bash

向首页追加内容

echo "9090" >> webapps/ROOT/index.jsp

3.创建nginx服务

新建nginx目录,在该目录下创建docker-compose.yml文件,输入如下内容:

version: '3.1'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 81:80
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf

由于docker-compose自动会将/conf/nginx.conf作为文件夹处理,所以需要在创建容器前,在nginx目录下,创建conf目录,在conf目录下,创建nginx.conf文件,并输入如下内容:

user nginx;
worker_processes 1;

events {
 worker_connections 1024;
}

http {
 upstream myapp1 {
  server [服务器ip]:9090 weight=10;
  server [服务器ip]:9091 weight=10;
 }
 server {

  listen 80;
  server_name [服务器ip];
  location / {
   proxy_pass http://myapp1;
  }
 }
}

在docker-compose.yml同一目录下运行

docker-compose up -d

4. 访问 [服务器ip]:81网址,多刷新几次,观察两个tomcat服务之间的切换

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

相关文章

  • nginx配置返回文本或json的方法

    nginx配置返回文本或json的方法

    有些时候请求某些接口的时候需要返回指定的文本字符串或者json字符串,这篇文章主要介绍了nginx配置返回文本或json的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Nginx配置请求头携带原始请求信息的实现

    Nginx配置请求头携带原始请求信息的实现

    本文主要介绍了Nginx配置请求头携带原始请求信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Nginx反向代理websocket配置实例

    Nginx反向代理websocket配置实例

    这篇文章主要介绍了Nginx反向代理websocket配置实例,本文是项目需求配置成功后的总结,需要的朋友可以参考下
    2014-09-09
  • 如何配置Nginx每个进程最多打开的文件数量

    如何配置Nginx每个进程最多打开的文件数量

    这篇文章主要介绍了配置Nginx每个进程最多打开的文件数量,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 浅谈nginx反向代理中神奇的斜线

    浅谈nginx反向代理中神奇的斜线

    这篇文章主要介绍了浅谈nginx反向代理中神奇的斜线,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • nginx从编译安装到配置文件说明中文详细介绍

    nginx从编译安装到配置文件说明中文详细介绍

    Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置)
    2018-10-10
  • Nginx 禁用静态文件缓存的配置方法

    Nginx 禁用静态文件缓存的配置方法

    禁用缓存可能会导致性能下降,因为每次请求都需要从后端服务器获取文件,因此,你需要根据具体情况权衡利弊并做出决策,这篇文章给大家介绍Nginx 禁用静态文件缓存的方法,感兴趣的朋友一起看看吧
    2024-02-02
  • CentOS7安装Nginx并配置自动启动的方法步骤

    CentOS7安装Nginx并配置自动启动的方法步骤

    这篇文章主要介绍了CentOS7安装Nginx并配置自动启动的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • linux下安装Nginx1.16.0的教程详解

    linux下安装Nginx1.16.0的教程详解

    因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版。这篇文章主要介绍了linux下安装Nginx1.16.0 ,需要的朋友可以参考下
    2019-06-06
  • 利用Nginx反向代理解决跨域问题详解

    利用Nginx反向代理解决跨域问题详解

    这篇文章主要介绍了利用Nginx反向代理解决跨域问题详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论