服务器的负载均衡nginx+tomcat实现动静分离

目录
  • 案例环境
  • 案例实施:
    • 部署tomcat服务器
    • 部署nginx服务器
    • 部署nginx-lb服务器

本文实验内容nginx+tomcat实现网站的动静分离功能

案例环境

主机信息

架构图

案例实施:

部署tomcat服务器

两台tomcat服务器上准备jdk和tomcat

jdk下载

tomcat下载

mkdir /tools
cd /tools
ls
apache-tomcat-8.5.70.tar.gz  jdk-8u181-linux-x64.tar.gz

安装jdk

mkdir -p /app/java
tar xf jdk-8u181-linux-x64.tar.gz -C /app/
ln -s /app/jdk1.8.0_181/ /app/jdk
vim /etc/profile
export JAVA_HOME=/app/jdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile
java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

部署tomcat

tar xf apache-tomcat-8.5.70.tar.gz -C /app
ln -s /app/apache-tomcat-8.5.70/ /app/tomcat

启动tomcat并测试,tomcat默认启动8080端口

/app/tomcat/bin/startup.sh
ss -anpt | grep 8080
LISTEN     0      100       [::]:8080                  [::]:*                   users:(("java",pid=2375,fd=52))

看到上面这个页面说明部署成功

创建tomcat01站点主页

rm -rf /app/tomcat/webapps/ROOT/*
cat /app/tomcat/webapps/ROOT/index.jsp
<%@ page language="java" import="java.util.*” pageEncoding="UTF-8"%>
<html>
  <head>
    <title>tomcat01</title>
  </head>
  <body>
    <% out.println("192.168.10.4,tomcat01");%>
    <img src="3333.jpg" />
  </body>
</html>

创建womcat02站点主页

rm -rf /app/tomcat/webapps/ROOT/*
cat /app/tomcat/webapps/ROOT/index.jsp
<%@ page language="java" import="java.util.*“ pageEncoding="UTF-8"%>
<html>
  <head>
    <title>tomcat02</title>
  </head>
  <body>
    <% out.println("192.168.10.5,tomcat02");%>
    <img src="3333.jpg" />
  </body>
</html>

两台tomcat服务器重启服务

/app/tomcat/bin/shutdown.sh
/app/tomcat/bin/startup.sh

部署nginx服务器

安装nginx依赖

yum -y install gcc gcc-c++ autoconf pcre-devel make automake httpd-tools enopssl-devel

配置nginx软件源

cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

安装nginx服务并启动

yum clean all
yum makecache
yum -y install nginx
systemctl enable --now nginx

yum安装的nginx已启用配置文件分离功能,我们使用默认的配置文件

cat /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
# 修改默认配置文件
vim /etc/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  192.168.10.3;

创建站点首页

cd /usr/share/nginx/html/
# 准备一张图片
ls
3333.jpg  50x.html  index.html
# 配置站点首页
vim index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
        <img src="3333.jpg" />
</body>
</html>

重启nginx服务

systemctl reload nginx

呐,图片

部署nginx-lb服务器

安装步骤与nginx01前三步相同

创建负载均衡配置文件

vim /etc/nginx/conf.d/proxy.conf
upstream tomcat {
	server 192.168.10.4:8080;
	server 192.168.10.5:8080;
}
upstream static {
	server 192.168.10.3:80;
}
server {
	listen 80;
	server_name 192.168.10.2;
	location / {
		proxy_pass http://tomcat;
	}
	location ~* .*\.(png|gif|jpg)$ {
		proxy_pass http://static;
	}
}

重启nginx服务

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl reload nginx

原理为默认会访问tomcat后端服务器,但当网页中有静态图片时会在static后端中访问

访问测试:达到一个负载均衡且动静分离的效果

以上就是服务器的负载均衡nginx+tomcat实现动静分离的详细内容,更多关于负载均衡nginx+tomcat动静分离的资料请关注我们其它相关文章!

(0)

相关推荐

  • 使用nginx+tomcat实现静态和动态页面的分离

    博主最近在优化一个javaweb项目,该项目之前一直都是使用tomcat处理用户请求的,无论静态还是动态的东西,一律交给tomcat处理.tomcat主要是负责处理servlet的,静态的文件还是交给nginx处理,nginx对静态文件的处理比tomcat不是只快了一点,并且Nginx的使用对项目并发能力有很大的提升.下面主要记录下主要的配置过程: 实验环境:windows 实验工具:Nginx.tomcat windows下安装Nginx非常简单,去官网下载压缩包解压后并且双击解压目录下的ng

  • nginx实现tomcat动静分离详解

    1.为什么要实现动静分离 1)nginx的处理静态资源能力超强 主要是nginx处理静态页面的效率远高于tomcat的处理能力,如果tomcat的请求量为1000次,则nginx的请求量为6000次,tomcat每秒的吞吐量为0.6M,nginx的每秒吞吐量为3.6M,可以说,nginx处理静态资源的能力是tomcat处理能力的6倍,优势可见一斑. 2)动态资源和静态资源分开,使服务器结构更清晰. 2.动静分离原理 服务端接收来自客户端的请求中,有一部分是静态资源的请求,例如html,css,j

  • Nginx+Tomcat实现负载均衡、动静分离的原理解析

    一.Nginx 负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现 反向代理(Reverse Proxy) 是指以 代理服务器(例:Nginx) 来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器(例:Tomcat),并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器(例:Nginx)对外就表现为一个反向代理服务器. 我们从客户端的视野来看,实际上客户端并不知道真实的服务提供者是哪台服务器,它只知道它请求了反向代理服务器.因

  • Nginx+Tomcat负载均衡及动静分离群集的实现

    目录 Nginx配置反向代理的主要参数 动静分离原理 Nginx静态处理优势 配置Nginx+Tomcat负载均衡,动静分离 配置Nginx负载均衡器 部署两台Tomcat 动静分离配置 配置动态页面请求 Nginx负载均衡模式 Nginx配置反向代理的主要参数 upstream服务池名{}配置后端服务器池,以提供响应数据 proxy_pass http://服务池名配置将访问请求转发给后端服务器池的服务器处理 动静分离原理 服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Ng

  • 简单实现nginx+tomcat的反向代理与动静分离

    windows下测试 nginx+tomcat实现java web项目的动静分离 1. 安装nginx,访问静态资源 安装成功后,启动nginx,浏览器输入http://localhost/出现欢迎页面. 在nginx下依次建立目录 static\test1\js\common,并将jquery.XX.js 放进去. PS: static 代表静态文件主目录,test1 代表tomcat下的项目名称,本机使用jquery-1.12.1.min.js 修改配置文件nginx.conf,添加如下配置

  • 服务器的负载均衡nginx+tomcat实现动静分离

    目录 案例环境 案例实施: 部署tomcat服务器 部署nginx服务器 部署nginx-lb服务器 本文实验内容nginx+tomcat实现网站的动静分离功能 案例环境 主机信息 架构图 案例实施: 部署tomcat服务器 两台tomcat服务器上准备jdk和tomcat jdk下载 tomcat下载 mkdir /tools cd /tools ls apache-tomcat-8.5.70.tar.gz jdk-8u181-linux-x64.tar.gz 安装jdk mkdir -p /

  • CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    本文实例讲述了CentOS6.5环境安装nginx服务器及负载均衡配置操作.分享给大家供大家参考,具体如下: 1.下载PCRE, 是一个用C语言编写的正则表达式函数库 [root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz [root@localhost d

  • Nginx配合Apache或Tomcat的动静分离基本配置实例

    其实本人比较喜欢nginx跑静态和做负载反向代理,动态php还是交给apache处理比较稳定,jsp就交给tomcat.resin或jboss.nginx跑静态的能力是无与伦比的,是目前web服务器里最强的.nginx和apache.tomcat.resin的动静分离配置其实很简单,就几句配置,稳定性也非常好. 1.nginx和apache的动静分离配置: 把下面配置放到nginx配置文件相应的server { }里面,如果使用其他端口号,改一下就行: #所有php的动态页面均交由apache处

  • 基于mysql+mycat搭建稳定高可用集群负载均衡主备复制读写分离操作

    数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

  • Apache结合Tomcat实现动静分离的方法

    实验环境 Apache和Tomcat均安装在IP地址为192.168.153.136的主机上 主机操作系统为centos7 实验之前关闭防火墙 ,命令: systemctl stop firewalld 关闭seliunx ,命令:setenforce 0 实验效果为Apache处理html静态资源,Tomcat处理jsp动态资源 1. Apache安装和启动 1.1 安装 yum -y install httpd 1.2 启动 systemctl start httpd 2. tomcat安装

  • Debian下搭建Nginx和Tomcat服务器实现负载均衡的方案

    负载均衡的基本概念 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用.最大化吞吐率.最小化响应时间.同时避免过载的目的. 使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性.负载平衡服务通常是由专用软体和硬件来完成. 负载平衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有时也称之为服务器农场.通常,负载平衡主要应用于Web网站,大型的Internet

  • 详解Ngigx+Tomcat配置动静分离,负载均衡

    由于公司使用过Ngnix,对于刚接触Nginx来说,感觉有些好奇,于是研究了下. 本人在windows下使用的版本是nginx-1.8.1: 1. 启动Ngnix 双击nginx-1.8.1文件夹中nginx.exe,当任务管理器中存在两个nginx进程时,则说明启动成功! 2. Ngnix常用命令 nginx -s stop 强制关闭 nginx -s quit 安全关闭 nginx -s reload 改变配置文件的时候,重启nginx工作进程,来时配置文件生效 nginx -s reope

  • Nginx服务器做负载均衡反向代理的超级攻略

    nginx 做反向代理时,后端主机有多台,可以使用 upstream 定义一个后端主机池,在反向代理时直接使用主机池的名字.在 upstream 中可以定义负载均衡调度算法,权重,健康状态检测等参数. 例如: upstream backend { server 172.16.0.1:80 weight=1 max-fails=3 fail_timeout=10; server 172.16.0.2:80 weight=1max-fails=3 fail_timeout=10;; } 默认请求下,

  • win2003 使用DNS服务器实现负载均衡

    解决方法有很多,如使用Windows2000或WindowsServer2003提供网络负载均衡服务,但该服务的设置非常复杂.而通过DNS服务器实现网络负载均衡则是一种比较简单的方法. 笔者以企业网中的Web服务器为例来介绍一下如何使用DNS服务器实现网络负载均衡.为了提高域名为"www.jb51.net"的网站的访问量,在企业网中部署三台内容相同的Web服务器,它们提供相同的服务,但每台服务器的IP地址都不一样.下面对企业网中的DNS服务器进行设置来实现三台Web服务器共同承担客户对

  • Nginx+Tomcat搭建高性能负载均衡集群的实现方法

    一.    目标实现高性能负载均衡的Tomcat集群: 二.步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3.然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml: 共需修改3处端口: 当然第二台Tomcat也一样,如下图: 4.然后启动两个Tomcat,并访问

随机推荐