首页 > 系统相关 >Nginx+Tomcat负载均衡、动静分离群集

Nginx+Tomcat负载均衡、动静分离群集

时间:2024-07-09 12:28:17浏览次数:16  
标签:tomcat Tomcat nginx 群集 local Nginx usr root localhost

一:tomcat安装(在192.168.10.102和192.168.10.103)

1:关闭防火墙

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

2:安装java环境

[root@localhost ~]# yum -y install java

[root@localhost ~]# java -version

3:安装tomcat

[root@localhost ~]# tar zxvf apache-tomcat-9.0.8.tar.gz

[root@localhost ~]# mv apache-tomcat-9.0.8 /usr/local/tomcat8

4:启动tomcat

[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh

[root@localhost ~]# netstat -anpt | grep java

5:创建测试网页

[root@localhost ~]# mkdir -p /web/webapp1

[root@localhost ~]# vim /web/webapp1/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>   

<head>

     <title>JSP test1 page</title>

</head>

   <body>

     <% out.println("动态页面 1,http://www.test1.com");%>

   </body>

   <body>

    <div>动态页面的图片 1</div><br><img src="logo.jpg">

   </body>

</html>

6:修改tomcat主配置文件

[root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml

      <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

        <Context docBase="/web/webapp1" path="" />

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

7:重启tomcat

[root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh

[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh

8:客户端访问测试

http://192.168.10.102:8080 ##注意:此时看不到图片,图片要放到nginx上,由nginx解析

备注:

另外一台tomcat用同样的方法部署

二:nginx配置(在192.168.10.101)

1:安装nginx

[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc*

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz

[root@localhost ~]# cd nginx-1.12.0

[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

[root@localhost nginx-1.12.0]# make && make install

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

2:编辑测试网页文件

[root@localhost ~]# vim /usr/local/nginx/html/index.html

<body>

<h1>静态页面</h1>

<p>这是个静态页面</p>

</body>

3:添加图片

[root@nginx ~]# mkdir /usr/local/nginx/html/img //创建静态文件目录

[root@nginx ~]# cp /root/logo.jpg /usr/local/nginx/html/img

4:修改主配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

(1)在http配置项中添加

upstream tomcat_server {

        server 192.168.10.102:8080 weight=1;

        server 192.168.10.103:8080 weight=1;

}

(2)在server配置项中添加

charset utf-8;

location / {

       root   html;

       index  index.html index.htm;

}

location ~ .*\.jsp$ {

        proxy_set_header HOST $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Client-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://tomcat_server;

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

        root /usr/local/nginx/html/img;

        expires 30d;

}

备注:

proxy_set_header HOST $host;

把原http请求中的Header中的Host字段放到转发的请求报文里,后端的web服务器利用这个host判断请求的是哪个虚拟主机

proxy_set_header X-Real-IP $remote_addr;

使用$remote_addr变量获得用户的真实ip,$remote_addr一般都是设置第一个代理上面。当一个请求通过多个代理服务器时,用户的IP将会被代理服务器IP覆盖

proxy_set_header Client-IP $remote_addr;

获取客户端ip地址

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

从客户的真实ip为起点,穿过多层级的proxy ,最终到达web 服务器,都会记录下来。所以在获取用户真实ip的时候,最后一个nginx配置此变量,用来获取客户端的ip地址

5:启动nginx

[root@localhost ~]# nginx

6:修改tomcat的配置文件,并重启tomcat

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%a %r %t %{X-Real-IP}i" resolveHosts="false" />

注意:

在nginx配置文件中用X-Real-IP保存了客户端的真是IP地址,在tomcat中就需要将X-Real-IP解析出来,显示到tomcat的日志中。

6:测试

浏览器打开网站

(1)静态网站测试

http://192.168.10.101

(2)动态网站测试

http://192.168.10.101/index.jsp

(3)查看tomcat的日志文件

cat /usr/local/tomcat9/logs/localhost_access_log-07-09.txt

标签:tomcat,Tomcat,nginx,群集,local,Nginx,usr,root,localhost
From: https://blog.csdn.net/weixin_71499831/article/details/140292271

相关文章

  • Haproxy搭建Web群集
    一:案例分析1:案例概述2:案例前置知识3:案例环境二:案例实施1:编译安装nginx服务器(两个nginx网站的步骤完全一样,只有测试页面不同)[root@localhost~]#yum-yinstallpcre-develzlib-develgcc*[root@localhost~]#useradd-M-s/sbin/nologinnginx[root@localhost~]......
  • Nginx+Tomcat群集
    一.实验环境 二.安装多台Tomcat服务器1.在安装Tomcat之前必须先安装JDK。        JDK的全称是JavaDevelopmentKit,是sun公司提供的JAVA语言的软件开发工具包,其中包含Java虚拟机(JVM),编写好的Java源程序经过编译可形成Java字节码,只要安装了JDK,就可以利用jvm解释这些......
  • 案列:Nginx+Tomcat负载均衡、动静分离群集
    一、案列:部署Tomcat(在192.168.10.102和192.168.10.103)1.关闭防火墙[root@localhost~]#systemctlstopfirewalld[root@localhost~]#setenforce02.安装java环境[root@localhost~]#yum-yinstalljava[root@localhost~]#java-version3.安装tomcat[root@localh......
  • Nginx 是一个非常流行的 Web 服务器和反向代理服务器
    Nginx是一个非常流行的Web服务器和反向代理服务器,以其高性能、稳定性、丰富的功能集和低资源消耗而闻名。下面是一个简化的Nginx使用教程,包括基本的安装、配置和一些常见用途。安装Nginx在Ubuntu/Debian上安装:sudoaptupdatesudoaptinstallnginx在CentOS......
  • Nginx常用操作
    NginxNginx的最重要的几个使用场景静态资源服务,通过本地文件提供服务反向代理服务,延伸出包括缓存,负载均衡等API服务,OpenResty相关概念简单请求和非简单请求请求方法是HEAD,GET,POST三种之一HTTP头信息不超过右边着几个字段:Accept、Accept-Language、Content-Language、L......
  • Nginx性能调优5招35式不可不知的策略实战
    Nginx是一个高性能的HTTP和反向代理服务器,它在全球范围内被广泛使用,因其高性能、稳定性、丰富的功能以及低资源消耗而受到青睐。今天V哥从5个方面来介绍Nginx性能调优的具体策略,希望对兄弟们有帮助,废话不多说,马上开整。1.系统层面:调整内核参数:例如,增加系统文件描述符的限制......
  • Docker部署Django+MySQL+Redis+Nginx+uWSGI+Celery(超详细)
    一、知识储备经过我们之前学习的Docker相关知识,现在我们来进行实战,以下介绍如何通过DockerCompose部署Django项目:先前知识:Docker学习笔记(一)概念理解-CSDN博客Docker学习笔记(二)镜像、容器、仓库相关命令操作-CSDN博客Docker学习笔记(三)Dockerfile-CSDN博客DockerCompose......
  • nginx作为反向代理服务器:代理MySQL、Postgresql、Redis及多个TCP服务
    使用Nginx作为反向代理服务器,可以代理MySQL、PostgreSQL、Redis及多个TCP服务。这需要配置Nginx的stream模块。以下是详细的配置步骤:1.确保Nginx支持stream模块首先,确保Nginx已经编译并支持stream模块。运行以下命令检查:nginx-V在输出中查找--with-str......
  • Ngnix配置文件nginx.conf的文件结构
    日常,在配备ngnix文件的时候,最经常配置的文件之一就是ngnix.conf这个文件了,这一节简单学习下nginx.conf这个文件使用pwd可以查看ngnix的文件想要查看nginx.conf的命令,首先找到nginx.conf这个命令所在的位置切换到nginx.conf的路径之后,使用catnginx.conf命令可以查看conf......
  • Nginx负载配置
    目录Nginx负载均衡笔记1.概述1.1Nginx简介1.2负载均衡概述2.四层负载均衡(传输层)2.1工作原理2.2特点2.3优缺点优点缺点2.4示例场景3.七层负载均衡(应用层)3.1工作原理3.2特点3.3优缺点优点缺点3.4示例场景4.Nginx调度算法4.1轮询(RoundRobin)4.2最小连接数(LeastCo......