大家好,又见面了,我是你们的朋友全栈君。
前言
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用户
[root@nginx ~]# yum install gcc gcc-c++ pcre-devel zlib-devel make -y
[root@nginx ~]# useradd -M -s /sbin/nologin nginx
(2)编译安装nginx
[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命令执行路径优化,使系统能够自动识别
[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软件,添加环境变量
[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
[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命令执行路径优化,使系统能够自动识别
[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中修改
[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上操作
[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上操作
[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上操作
[root@tomcat local]# vim /usr/local/tomcat/webapps/test/index.jsp
在body内引入图片
<body>
<div>动态网页</div><br>
<img src="37.jpg">
</body>
(2)在nginx上操作
[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)网页测试
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134719.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...