Tomcat动静分离

2022-09-06 11:24:52 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

前言

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。 上篇博客利用Nginx反向代理的功能,实现了Tomcat的集群配置,本文使用的是Nginx的网页处理功能,实现与Tomcat的动静分离 静态页面交给Nginx处理,动态页面交给Tomcat处理

实验环境

1、实验拓扑

2、IP地址分配

主机名

IP地址

Nginx

192.168.7.128

Tomcat

192.168.7.129

实验过程

1、安装Tomcat (1)安装环境包,创建nginx用户

代码语言:javascript复制
[root@nginx ~]# yum install gcc gcc-c   pcre-devel zlib-devel make -y
[root@nginx ~]# useradd -M -s /sbin/nologin nginx

(2)编译安装nginx

代码语言:javascript复制
[root@nginx Nginx]# tar zxvf nginx-1.12.2.tar.gz -C /opt
[root@nginx Nginx]# cd /opt/nginx-1.12.2/
[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

(3)nginx命令执行路径优化,使系统能够自动识别

代码语言:javascript复制
[root@nginx ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
#创建nginx启动脚本
[root@nginx ~]# vim /etc/init.d/nginx
case "$1" in
start)
    $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 ~]# chmod  x /etc/init.d/nginx
[root@nginx ~]# chkconfig --add nginx
[root@nginx ~]# service nginx start	

2、安装Tomcat (1)安装JDK软件,添加环境变量

代码语言:javascript复制
[root@tomcat Tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm
[root@tomcat Tomcat]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=$JAVA_HOME/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

[root@tomcat Tomcat]# source /etc/profile
[root@tomcat Tomcat]# java -version		//查看版本
java version "1.8.0_201"

(2)安装Tomcat

代码语言:javascript复制
[root@tomcat Tomcat]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/
[root@tomcat Tomcat]# cd /usr/local/
[root@tomcat local]# mv apache-tomcat-9.0.16/ tomcat

(3)tomcat命令执行路径优化,使系统能够自动识别

代码语言:javascript复制
[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

3、配置动静分离(在nginx服务器上配置) 将对java文件请求转发到Tomcat处理 在nginx配置文件nginx.conf中修改

代码语言:javascript复制
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {
···省略···
location ~.*.jsp$ {								//匹配以jsp结尾的文件名
  proxy_pass http://192.168.7.129:8080;		//转发到Tomcat服务器
  proxy_set_header Host $host;					//匹配头部信息
}

4、创建测试网页 (1)在nginx上操作

代码语言:javascript复制
[root@nginx ~]# vim /usr/local/nginx/html/index.html
<!DOCTYPE html>
<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>
<h1>静态网页</h1>
<p>这是一个静态页面</p>
</body>
</html>

(2)在Tomcat上操作

代码语言:javascript复制
[root@tomcat local]# mkdir /usr/local/tomcat/webapps/test
[root@tomcat local]# vim /usr/local/tomcat/webapps/test/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>

5、访问测试

6、nginx处理静态图片,tomcat处理动态页面 tomcat指路径,nginx放图片 (1)在Tomcat上操作

代码语言:javascript复制
[root@tomcat local]# vim /usr/local/tomcat/webapps/test/index.jsp
在body内引入图片
<body>
<div>动态网页</div><br>
<img src="37.jpg">
</body>

(2)在nginx上操作

代码语言:javascript复制
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
location ~.*.(gif|jpg|jpeg|png|bmp|swf|css)$ {
  root html;
  expires 30d;
}

#创建与java项目相同的目录名称
[root@nginx ~]# mkdir /usr/local/nginx/html/test

(3)网页测试

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134719.html原文链接:https://javaforall.cn

0 人点赞