文章目录

  • Tomcat主要配置文件
  • Nginx负载均衡实现原理
  • 实验环境
  • 动静分离配置
  • 创建静态页面
  • 配置动态页面
  • 图片动静分离

Tomcat主要配置文件

  1. bin:存放启动和关闭Tomcat脚本
  2. conf:存放Tomcat不同的配置文件
  3. doc:存放Tomcat文档
  4. lib:存放Tomcat运行需要的库文件
  5. logs:存放Tomcat执行时的LOG文件
  6. src:存放Tomcat的源代码
  7. webapps:Tomcat的主要web发布目录
  8. work:Tom存放jsp编译后产生的

Nginx负载均衡实现原理

  • Nginx配置反向代理的主要参数
  1. upstream 服务器池名{ }

    配置后端服务器池,以提供响应数据

  2. proxy_pass http://服务池名

    配置将访问请求转发给后端服务器池的服务器处理

  • 动静分离原理

    服务端接受来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端

  • Nginx静态处理优势

  1. Nginx处理静态页面的效率远高于Tomcat的处理能力
  2. 若Tomcat的请求量为1000次,则Nginx的请求量为6000次
  3. Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M
  4. Nginx处理静态资源的能力是Tomcat处理的6倍

实验环境

Nginx+Tomcat负载均衡,动静分离

服务机台数3:1nginx,2tomcat

服务器 IP
Nginx负载均衡器 192.168.136.88
Tomcat-Webserver1 192.168.136.60
Tomcat-Webserver2 192.168.136.10

nginx服务安装与部署

重新命名

[root@localhost ~]# hostnamectl set-hostname nginx
[root@nginx ~]#

所有服务器关闭防护墙

[root@nginx init.d]# iptables -F
[root@nginx init.d]# setenforce 0

配置nginx

[root@nginx ~]# yum -y install gcc-c++ gcc pcre-devel zlib-devel
[root@nginx ~]#useradd  -M -s /sbin/nologin nginx
[root@nginx ~]#cd nginx-1.12.0/
[root@nginx nginx-1.12.2]#./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
[root@nginx nginx-1.12.2]# make && make install
[root@nginx nginx-1.12.2]#ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@nginx nginx-1.12.2]# cd /etc/init.d/
[root@nginx init.d]# vim nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" instart)$PROG;;stop)kill -s QUIT $(cat $PIDF);;restart)$0 stop$0 start;;reload)kill -s HUP $(cat $PIDF);;*)echo "Usage: $0 {start|stop|restart|reload}"exit 1
esac
exit 0
[root@nginx init.d]# chmod +x nginx
[root@nginx init.d]# chkconfig --add nginx
[root@nginx init.d]# service nginx start
[root@nginx init.d]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      15334/nginx: master

部署tomcat服务器

[root@tomcat ~]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
[root@tomcat ~]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
设置环境变量
[root@tomcat local]# vim /etc/profile
在末尾插入
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
[root@tomcat local]# cd /usr/local/
[root@tomcat local]# source /etc/profile
[root@tomcat local]# mv apache-tomcat-8.5.16/ tomcat
系统识别
[root@tomcat local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
[root@tomcat local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
[root@tomcat02 local]# startup.sh
[root@localhost local]# netstat -ntap | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      22407/java

动静分离配置

在nginx中配置静态页面 (请求java转发到tomcat处理)

vim /usr/local/nginx/conf/nginx.conf
在42行下添加42         location ~.*.jsp$ {43            proxy_pass http://192.168.136.40:8080;   44            proxy_set_header Host $host;45  }

检查格式

[root@nginx init.d]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

创建静态页面

 cd /usr/local/nginx/html/     站点目录

创建静态页面

vim index.html
( 删除所有复制下面)
<head>
<meta http-equiv="content-type"content="text/html:charset=utf-8" >
<title >静态页面</title>
<style>
body{width:35em;margin:0 auto;font-family:Tahoma,Verdana,Arial,sans-serif;
}
</style>
</head >
<body ></style></head><body><h1>静态页面</h1><p>这是个静态页面</P></body></html >

ps:可以不行这么多中间 比如(style美好页面功能,width宽度,margin:0 auto外边距,head 头部,body详细内容)

开启服务

[root@nginx html]# service nginx stop
[root@nginx html]# service nginx start

配置动态页面

在Tomcat中配置

进入站点

cd /usr/local/tomcat/webapps/

创建动态页面

[root@localhost webapps]# mkdir test
[root@localhost webapps]# cd test/
[root@localhost test]# vim index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>动态页面</title>
</head>
<body>
<div>动态页面</div>
</body>
</html>

开启服务

[root@tomcat test]# shutdown.sh [root@tomcat test]# startup.sh

查看一下静态页面结果

查看一下动态页面结果

图片动静分离

nginx处理静态图片,tmocat处理动态页面

在tomcat上加上标签

[root@tomcat test]# cd /usr/local/tomcat/webapps/test/
[root@tomcat test]# vim index.jsp13 <img src="cat.jpg"/>

nginx上面更改

[root@nginx html]# vim /usr/local/nginx/conf/nginx.conf
在43行插入
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {43                root html;44                expires 30d;45         }

ps:运用正则表达式,去站点寻找,缓存30天

加入图片,加入时要注意图片的目录名称要和java项目名称一致,webapps是项目,test是项目名称

[root@nginx html]# cd /usr/local/nginx/html/
[root@nginx html]# mkdir test
[root@nginx html]# cd test/
[root@nginx test]# rz -E    输出一张图到这里
[root@nginx test]# ls
cat.jpg

开启服务

[root@nginx test]# service nginx stop
[root@nginx test]# service nginx start

ngixn+tomcat负载均衡 动静分离配置 (nginx反向代理)相关推荐

  1. nginx+apache实现负载均衡+动静分离配置(编译安装)

    一.编译安装nginx cd /usr/local/src wget http://nginx.org/download/nginx-1.6.3.tar.gz tar -zxvf nginx-1.6. ...

  2. Nginx 负载均衡动静分离配置

    nginx.conf 1.通过目录进行分离. #静态服务器 upstream static_pools {           server 10.0.0.9:80 weight=5 max_fail ...

  3. Nginx的动态代理,负载均衡,动静分离的简单使用

    nginx 一 Nginx介绍 1.1 为什么要学习Nginx 问题1: 客户端到底要将请求发送那台服务器 问题2:所有客户端的请求都发送给了服务器1 问题3:客户端发送的请求可能是申请静态资源的,也 ...

  4. HAproxy负载均衡动静分离实现及配置详解

     HAproxy负载均衡动静分离实现及配置详解 HAproxy的介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAP ...

  5. 配置nginx反向代理jira并实现https

    摘要: 配置nginx反向代理jira并实现https 配置Tomcat 在本文中,我们设置可以在地址http://jira.aniu.so/jira(标准HTTP端口80)上访问JIRA,而JIRA ...

  6. 相同Ip 不同端口配置Nginx反向代理Apache

    相同Ip  不同端口 配置Nginx反向代理Apache(就是Nginx跳转到Apache) 在linux 一经搭建好环境  先后安装了Nginx  和Apache 由于 默认端口都是:80 一般客户 ...

  7. 从0开始,在Linux中配置Nginx反向代理、负载均衡、session共享、动静分离

    写这篇文章花费了我近一周的时间,参考网上许多优秀的博客文章,我不敢说写的很好,至少很全很详细.本文先介绍原理部分,然后再进行实战操作,我认为这样才会有更深的理解,不过这也导致了文章篇幅很长.但是,如果 ...

  8. Nginx 反向代理 负载均衡 动静分离 高可用 原理

    1.Nginx简介 1.1 概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能 ...

  9. Nginx快速入门(安装 负载均衡 动静分离 主备 原理)

    什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...

最新文章

  1. Delphi 如何解决在DLL的入口函数中创建或结束线程时卡死
  2. urllib2打开URL(含中文)的问题
  3. 【转】Create Hello-JNI with Android Studio
  4. 使用LinkedBlockingQueue来实现生产者消费者的例子
  5. [webrtc] rtcp模块中rtt时间计算
  6. python删除列表中的偶数_Python:从列表中删除奇数
  7. 如何让面试官认可你的简历
  8. 【渝粤教育】国家开放大学2018年春季 8661-21T传感与检测技术 参考试题
  9. 时间管理—如何充分利用你的24小时
  10. Ubuntu搭建饥荒服务器教程
  11. sql语句查询执行顺序
  12. rose 生产java代码m_rose 生成代码
  13. JavaScript 重定向
  14. 教你用python画动态爱心表白
  15. 东软始业教育结业考试
  16. 计算机二级选择题需要刷吗,“我明天就要考计算机二级了”
  17. Scene Graph(视觉关系场景图检测)
  18. 【论文阅读】Improving Document-level Relation Extraction via Contextualizing Mention Representations and W
  19. 如何使用python insert插入数据
  20. java游戏演示ppt_java项目开发实战──五子棋游戏.ppt

热门文章

  1. 字节、阿里等大厂的技术如何?看看这些Java程序员的自学笔记
  2. OS- -文件系统(一)
  3. 王盛:QUIC让B站在20%丢包时实现零卡顿
  4. Hive之DDL数据操作
  5. Golang 性能优化实战
  6. 《视频直播技术详解》系列之六:延迟优化
  7. 《直播疑难杂症排查》之四:延时高
  8. 今日的你,上班了吗?
  9. 使VM的虚拟机内存超越物理内存的方法
  10. leetcode 282. Expression Add Operators | 282. 给表达式添加运算符(中缀表达式求值)