Linux下Nginx负载均衡多个tomcat配置的方法步骤

Linux下安装nginx和安装多个tomcat的方法这里不过多介绍,不清楚的可参考:

Linux安装nginx:

https://www.jb51.net/article/159519.htm

Linux安装多个tomcat:

https://www.jb51.net/article/159521.htm

当我们服务器安装好了nginx,并且安装了多台tomcat,那么我们现在可以试着玩玩nginx的负载均衡。

先简单介绍我的运行环境

一台阿里云服务器,

Linux系统,jdk1.8, 已安装好nginx,

安装了4个tomcat,并且配置好了各端口号,分别对应8080,8081,8082,8083

一:进入nginx目录下的conf目录 

这是我的nginx安装目录:

[root@aliServer ~]# cd /usr/local/nginx/conf

二:编辑nginx.conf

[root@aliServer conf]# vi nginx.conf

三:配置服务器组

1:在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

upstream nginxDemo {
  server 127.0.0.1:8081;  #服务器地址1
  server 127.0.0.1:8082;  #服务器地址2
  server 127.0.0.1:8082;  #服务器地址3
  server 127.0.0.1:8083;  #服务器地址4
}

2:修改nginx监听的端口号80

nginx默认端口是80,这里我暂未更改,保持不变

server {
  listen    80;   #默认是80,也可更改为其他的,当然已被占用的端口号不能写。
  ......
}

3:用proxy_pass配置反向代理地址

在location\{}中,利;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致(也就是nginxDemo这个名称是自定义的,两个地方需要一致)

location / {
      root  html;
      index index.html index.htm;
      proxy_pass http://nginxDemo; #配置方向代理地址
    }

配置完成后,如图:

四:启动nginx

我的安装nginx路径是  /usr/local/nginx

所以我的启动命令是:

[root@aliServer ~]# /usr/local/nginx/sbin/nginx

因为nginx之前安装时就已经启动了,现在再启动就报错端口号被占用

这时我们使用命令查看各端口号占用情况

[root@aliServer ~]# netstat -ntpl

我们看到,nginx被9097这个PID占用着,使用kill -9杀掉

[root@aliServer ~]# kill -9 9097

再次启动nginx

[root@aliServer ~]# /usr/local/nginx/sbin/nginx

没有任何反应,这就对了,这时在浏览器中输入你服务器地址

说明nginx启动成功,至于配置是否正确,是否能负载匀衡,现在开始验证。。。

五:验证

我们都知道,nginx负载均衡时客户端所有请求都经过nginx,那么nginx就可以决定将这些请求转发给谁,如果服务器A的资源更充分(CPU更多、内存更大等等),服务器B没有服务器A处理能力强,那么nginx就会把更多的请求转发到A,转发较少的请求到服务器B,这样就做到了负载均衡,而且就算其中一台服务器宕机了,对于用户而言也能正常访问网站。

在验证前,需要先做点准备。

1:准备一个简单点的jsp,如:

我一台服务器上安装了4个tomcat,所以我准备了4个index.jsp文件

分别是

<title>Tomcat8080<title> <h1>Hellow Tomcat_8080</h1>
<title>Tomcat8081<title> <h1>Hellow Tomcat_8081</h1>
<title>Tomcat8082<title> <h1>Hellow Tomcat_8082</h1>
<title>Tomcat8083<title> <h1>Hellow Tomcat_8083</h1>

这里需要注意的是:jsp文件的名字一定要是index.jsp,因为tomcat启动成功的画面,如图:

读取就是tomcat安装目录下的webapps/ROOT/index.jsp

我的地址是:/usr/java/tomcat/tomcat_8080/webapps/ROOT

将先前准备的4个index.jsp文件,覆盖每个tomcat默认的index.jsp文件。

启个各个tomcat

[root@aliServer bin]# ./startup.sh

这时我们再在浏览器输入 xxx.xxx.xx.xx:8080  你会发现,不在出现那只小猫了,而是。。。。。。

4个tomcat都启动成功了,nginx也已启动成功了。

这时输入在浏览器输入你的服务器ip,不停的刷新页面,你会发现页面一会显示8080,一会显示8081,一会显示8082,一会显示8083,当然这个是nginx根据哪个服务器资源更充分而决定请求去什么地方的,我们在浏览器的请求的地址不变,却访问的是不同的tomcat服务器,说明,nginx配置成功。

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

(0)

相关推荐

  • Linux下Tomcat的几种运行方式讲解

    Linux下Tomcat的启动.关闭 在Linux系统下,启动和关闭Tomcat使用命令操作. 进入Tomcat下的bin目录 cd /java/tomcat/bin 启动Tomcat命令 ./startup.sh 停止Tomcat服务命令 ./shutdown.sh 执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程.网上看了

  • Linux centOS安装JDK和Tomcat的教程

    首先下载JDK. 这里使用的是jdk-8u181-linux-x64.tar.gz 下载Tomcat. 这里使用的是apache-tomcat-8.5.35.tar.gz 创建目录 $ cd / $ mkdir soft $ cd soft 把安装包放到soft里 可以使用yum命令上传 安装 yum install -y lrzsz rz回车选择文件 安装JDK $ cd /usr $ mkdir java $ tar -zxvf jdk-8u181-linux-x64.tar.gz -C /

  • Linux CentOS下安装Tomcat9及web项目的部署

    环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载Tomcat 部署到 /usr/local/tomcat,创建好文件夹.目录. 使用wget指令: wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.tar.gz 结果如下,成功下载了apache-tomcat-9.0.10.tar.gz 2.解压缩 tar -z

  • Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)

    一 环境 阿里云服务器: CentOS 7.4 64位(基于RedHat) 本机: macOS High Sierra 二 压缩包 JDK  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Tomcat  https://tomcat.apache.org/download-80.cgi#8.5.31 MySQL https://dev.mysql.com/downloads/

  • 下载tomcat放到linux上步骤详解

    如果您刚刚接触到linux,这些内容可能对您有用,要是您接触linux已经有一段时间,那么这些内容可能对您没有太大的帮助,希望对您有用. 首先,您可以通过搜索tomcat,找到资源,建议使用官方的网站进行下载. 您最好进入到官网上去下载,不过您在其他的资源网站也能找到,但还是推荐使用官网下载. 因为官网是英文版本的,您需要具备一些因为基础,进入到网站中,找到相应的资源.官网首页有一些介绍,您可以看一下. 找到下图所示的内容,并点击进入到下一个页面中.当然这里有多个版本,找到适合您的就好,还有并不

  • Linux下Nginx负载均衡多个tomcat配置的方法步骤

    Linux下安装nginx和安装多个tomcat的方法这里不过多介绍,不清楚的可参考: Linux安装nginx: https://www.jb51.net/article/159519.htm Linux安装多个tomcat: https://www.jb51.net/article/159521.htm 当我们服务器安装好了nginx,并且安装了多台tomcat,那么我们现在可以试着玩玩nginx的负载均衡. 先简单介绍我的运行环境 一台阿里云服务器, Linux系统,jdk1.8, 已安装

  • linux下nginx负载均衡搭建的方法步骤

    首先先了解下负载均衡,假设一个场景,如果有1000个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL服务器,那么这些请求 可能会高出你的的服务器承受能力,就会down掉: 解决方法: 1.垂直升级:就是增加服务器的配置,CPU,内存等 2.水平升级:添加多台服务器来分担服务器压力 常见的负载均衡器 根据工作在的协议层划分可划分为: 四层负载均衡:根据请求报文中的目标地址和端口进行调度 七层负载均衡:根据请求报文的内容进行调度,这种调度属于「代理」的方式 根据软硬件划分

  • 详解 Nginx 负载均衡和反向代理配置和优化

    Nginx 负载均衡和反向代理配置和优化 DNS 轮询方式: 介绍: DNS 轮询是指一个域名可以绑定到多个的 ip 服务器上, 用户在访问的时候 dns轮询访问这几个 ip 的服务器, 达到负载均衡的目的. 可以使用 linux 命令 dig domain 来查看情况. 缺点: 1. 可靠性低. 如果某一个服务器宕机了, 那么dns 在轮询到这个服务器的话是不会有响应的,即使去掉此 ip , 那么个电信服务商的 dns 是存在缓存, 在一定的时间内也是可以访问到此服务器的.尽管在一定程度上解决

  • nginx 负载均衡轮询方式配置详解

    一.概述 Nginx的upstream目前支持的分配算法:1.round-robin 轮询1:1轮流处理请求(默认)每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询.2.weight 权重(加权轮询)通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况.3.ip_hash 哈希算法每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题.应用服务器如果故障需要手工down掉

  • Linux上搭载Nginx负载均衡配置使用案例详解

    目录 1,这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢? 2, 负载均衡的种类 3, 这里我们只来说Nginx(其他的大家有兴趣可以自行查阅相关文档) 4, 创建两台Nginx服务器 5, 搭建Nginx 搭建Keepalived:(Keepalived需要依赖openssl) 1,这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担.在此

  • nginx+tomcat实现Windows系统下的负载均衡搭建教程

    刚入行没多久就听过'负载均衡'的大名,到现在因为工作接触的少,所以没什么太多的认识.但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了条件又不够,只能用自己的笔记本将就一下了,重在理解思想..) 通俗点将,负载均衡就是因为访问流量太大,导致项目访问不流畅.甚至宕掉,所以通过一种分流的方式来缓解这种情况. 首先,安装两个tomcat,可以是同一个复制成两个,也可以下载两个不同版本的tomcat,我就是下载了两个不同版本的.下载地址:h

  • Nginx+Tomcat负载均衡集群安装配置案例详解

    目录 前言 一.Nginx+Tomcat 二.配置Nginx服务器 三.部署Tomcat应用服务器 总结 前言 介绍Tomcat及Nginx+Tomcat负载均衡集群,Tomcat的应用场景,然后重点介绍Tomcat的安装配置.Nginx+Tomcat负载均衡集案列是应用于生产环境的一套可靠的Web站点解决方案. 一.Nginx+Tomcat 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完

  • nginx负载均衡下的webshell上传的实现

    目录 场景描述 环境的安装 复现过程 存在的问题 解决方案 场景描述 假定在真实生产环境中,存在一个RCE漏洞,可以让我们获取WebShell 环境的安装 首先在GetHub上拉去漏洞的镜像前,需提前在centos上安装nginx和tomcat以及配置好nginx以及tomcat的相关配置文件,在使用docker将镜像拉取下来,进行漏洞的复现. 1.先将docker环境搭建起来 2.测试tomcat是否可以访问 根据上图可以看出,后端的tomcat是可以访问的 3.查看docker中nginx反

  • 基于Docker部署Tomcat集群、 Nginx负载均衡的问题小结

    写在前面 看完Dokcer相关的书籍,正好有个项目要这样搞,所以自己练习一下. 当作一百世一样.这里的道理很明白:我思故我在,既然我存在,就不能装作不存在.无论如何,我要为自己负起责任.--王小波<三十而立> 结构图: 这里仅作为一种学习,一般这种负载的话,Nginx是放到主机侧的, JavaWeb(Tomcat)应用放到容器里. 效果 新建文件夹. D=uag;mkdir $D;cd $D;mkdir uag_nginx uag_tomcat8; ls uag_nginx uag_tomca

  • Nginx负载均衡详细介绍

    如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器. 下面简单的介绍下我使用Nginx做负载的体会 下载---安装Nginx这些不介绍了,前篇有介绍. windows和Linux下配置Nginx负载的写法一样,故不分开介绍. Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.

随机推荐