700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Nginx+Tomcat 负载均衡+动静分离

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

时间:2020-04-15 18:55:44

相关推荐

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

文章目录

Tomcat概述Ngiinx概述Nginx负载均衡实现原理Nginx动静分离实现原理来吧!展示!!实验①搭建 Nginx 服务器搭建 Tomcat 服务器验证实验实验②Tomcat01 配置Nginx 配置测试实验

Tomcat概述

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

Ngiinx概述

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

特点

支持高达50000个并发连接响应拥有强大的静态资源处理能力运行稳定硬件资源占用很低

Nginx负载均衡实现原理

示意图

Ngxin配置参数

upstream 服务器池 { }

配置之后的后端服务器,让其为自己提供响应数据

proxy_pass http://服务器地址配置将访问请求转发给后端服务器池的服务器处理

Nginx动静分离实现原理

服务费接收来自客户端的请求中基友静态资源也有动态资源,静态资源由nginx提供,动态资源由nginx转发给后端服务器提供服务。

nginx处理静态页面对比tomcat优势

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

来吧!展示!!

nginx服务ip:20.0.0.11

cat01:20.0.0.3

cat02:20.0.0.4

实验①

搭建 Nginx 服务器

安装环境依赖包[root@nginx bao]# yum -y install \> pcre-devel \> zlib-devel \> gcc gcc-c++ \> make[root@nginx bao]# useradd -M -s /sbin/nologin nginx[root@nginx bao]# tar zxvf nginx-1.12.2.tar.gz[root@nginx bao]# cd nginx-1.12.2/[root@nginx nginx-1.12.2]# ./configure \> --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx \> --with-http_stub_status_module \ ##统计模块> --with-http_gzip_static_module \ ##压缩模块> --with-http_flv_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]# vim /usr/local/nginx/conf/nginx.conf#gzip on; ##找到这行,在下面添加upstream catserver {##设置节点服务器,你们做的时候名字起的正规点啊哈哈哈server 20.0.0.3:8080 weight=1; ##指向cat01 IP,weight指的是权重server 20.0.0.4:8080 weight=1; ##看上面自己理解吧}server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;}location ~.*.jsp$ {##往下加,匹配到以 jsp 结尾的网页再两台节点服务器中轮询proxy_pass http://catserver;}[root@nginx nginx-1.12.2]# systemctl stop firewalld[root@nginx nginx-1.12.2]# setenforce 0

搭建 Tomcat 服务器

安装、配置tomcat

两台通样操作

[root@cat01 bao]# tar zxvf jdk-8u91-linux-x64.tar.gz[root@cat01 bao]# mv jdk1.8.0_91/ /usr/local/[root@cat01 bao]# vim /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_91export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH[root@cat01 bao]# source /etc/profile[root@cat01 bao]# java -versionjava version "1.8.0_91"Java(TM) SE Runtime Environment (build 1.8.0_91-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)[root@cat01 bao]# tar zxvf apache-tomcat-8.5.16.tar.gz[root@cat01 bao]# mv apache-tomcat-8.5.16 /usr/local/tomcat[root@cat01 bao]# cd /usr/local/tomcat/[root@cat01 tomcat]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin[root@cat01 tomcat]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin[root@cat01 bao]# mkdir -p /web/cat01 [root@cat01 bao]# vim /web/cat01/index.jsp ##cat02 改成 /web/cat02<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html><head><title>CAT01 web</title></head><body><% out.println("This is CAT01.");%> ##另一台配置 This is CAT02.</body></html>[root@cat01 bao]# vim /usr/local/tomcat/conf/server.xml148 <Host name="localhost" appBase="webapps" 149 unpackWARs="true" autoDeploy="true"> ##主配置文件里找到这个服字段,在下面添加,意思差不多是重新定义主页位置150 <Context docBase="/web/cat01" path="" reloadable="false">151 </Context>[root@cat01 bao]# startup.sh Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/local/jdk1.8.0_91/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.[root@cat01 bao]# netstat -ntap |grep 8080tcp6 00 :::8080 :::*LISTEN74552/java

验证实验

实验成功,当匹配到动态网页时轮询指向两台web服务器,但是注意工作中两台主机的页面必须一样

实验②

实验需求:nginx处理静态图片,Tomcat处理动态页面配置

Tomcat指路径,nginx放图片

目录名称需要和Java项目名称相同

Tomcat01 配置

02我就不改了,麻烦

[root@cat01 bao]# vim /web/cat01/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" "/TR html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="nginx/html; charset=UTF-8"> ##位置和图的位置一样,nginx/html<title>CAT01 web</title></head><body><div>This is CAT01.</div><br><img src="FDL.jpg"></body></html>

Nginx 配置

[root@nginx /]# cd /usr/local/nginx/html/[root@nginx html]# rz -Erz waiting to receive.[root@nginx html]# ls50x.html FDL.jpg index.html[root@nginx html]# vim /usr/local/nginx/conf/nginx.confserver {listen 80;server_name localhost;##添加下面location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {root html;expires 30s;

测试实验

实验成功

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。