ngixn+tomcat负载均衡 动静分离配置 (nginx反向代理)
文章目录
- Tomcat主要配置文件
- Nginx负载均衡实现原理
- 实验环境
- 动静分离配置
- 创建静态页面
- 配置动态页面
- 图片动静分离
Tomcat主要配置文件
- bin:存放启动和关闭Tomcat脚本
- conf:存放Tomcat不同的配置文件
- doc:存放Tomcat文档
- lib:存放Tomcat运行需要的库文件
- logs:存放Tomcat执行时的LOG文件
- src:存放Tomcat的源代码
- webapps:Tomcat的主要web发布目录
- work:Tom存放jsp编译后产生的
Nginx负载均衡实现原理
- Nginx配置反向代理的主要参数
upstream 服务器池名{ }
配置后端服务器池,以提供响应数据
proxy_pass http://服务池名
配置将访问请求转发给后端服务器池的服务器处理
动静分离原理
服务端接受来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端
Nginx静态处理优势
- Nginx处理静态页面的效率远高于Tomcat的处理能力
- 若Tomcat的请求量为1000次,则Nginx的请求量为6000次
- Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M
- 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反向代理)相关推荐
- nginx+apache实现负载均衡+动静分离配置(编译安装)
一.编译安装nginx cd /usr/local/src wget http://nginx.org/download/nginx-1.6.3.tar.gz tar -zxvf nginx-1.6. ...
- Nginx 负载均衡动静分离配置
nginx.conf 1.通过目录进行分离. #静态服务器 upstream static_pools { server 10.0.0.9:80 weight=5 max_fail ...
- Nginx的动态代理,负载均衡,动静分离的简单使用
nginx 一 Nginx介绍 1.1 为什么要学习Nginx 问题1: 客户端到底要将请求发送那台服务器 问题2:所有客户端的请求都发送给了服务器1 问题3:客户端发送的请求可能是申请静态资源的,也 ...
- HAproxy负载均衡动静分离实现及配置详解
HAproxy负载均衡动静分离实现及配置详解 HAproxy的介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAP ...
- 配置nginx反向代理jira并实现https
摘要: 配置nginx反向代理jira并实现https 配置Tomcat 在本文中,我们设置可以在地址http://jira.aniu.so/jira(标准HTTP端口80)上访问JIRA,而JIRA ...
- 相同Ip 不同端口配置Nginx反向代理Apache
相同Ip 不同端口 配置Nginx反向代理Apache(就是Nginx跳转到Apache) 在linux 一经搭建好环境 先后安装了Nginx 和Apache 由于 默认端口都是:80 一般客户 ...
- 从0开始,在Linux中配置Nginx反向代理、负载均衡、session共享、动静分离
写这篇文章花费了我近一周的时间,参考网上许多优秀的博客文章,我不敢说写的很好,至少很全很详细.本文先介绍原理部分,然后再进行实战操作,我认为这样才会有更深的理解,不过这也导致了文章篇幅很长.但是,如果 ...
- Nginx 反向代理 负载均衡 动静分离 高可用 原理
1.Nginx简介 1.1 概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能 ...
- Nginx快速入门(安装 负载均衡 动静分离 主备 原理)
什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...
最新文章
- Delphi 如何解决在DLL的入口函数中创建或结束线程时卡死
- urllib2打开URL(含中文)的问题
- 【转】Create Hello-JNI with Android Studio
- 使用LinkedBlockingQueue来实现生产者消费者的例子
- [webrtc] rtcp模块中rtt时间计算
- python删除列表中的偶数_Python:从列表中删除奇数
- 如何让面试官认可你的简历
- 【渝粤教育】国家开放大学2018年春季 8661-21T传感与检测技术 参考试题
- 时间管理—如何充分利用你的24小时
- Ubuntu搭建饥荒服务器教程
- sql语句查询执行顺序
- rose 生产java代码m_rose 生成代码
- JavaScript 重定向
- 教你用python画动态爱心表白
- 东软始业教育结业考试
- 计算机二级选择题需要刷吗,“我明天就要考计算机二级了”
- Scene Graph(视觉关系场景图检测)
- 【论文阅读】Improving Document-level Relation Extraction via Contextualizing Mention Representations and W
- 如何使用python insert插入数据
- java游戏演示ppt_java项目开发实战──五子棋游戏.ppt