Tomcat与Nginx动静分离

Tomcat与Nginx动静分离

一、实验环境

1.一台nginx服务器:192.168.80.133
2.一台Tomcat服务器:192.168.80.134
3.一台客户机

二、nginx服务搭建

nginx作为web服务可以承受大量的并发量,但是只能处理静态资源如:图片文字等。所以可以将jsp的动态请求发送给Tomcat服务进行处理。
1.创建nginx服务脚本:

#!/bin/bash
systemctl stop firewalld
setenforce 0

read -p "请输入nginx安装包路径(路径最后不要加斜杠:/;否则会出错)" lj

#解压安装包
echo "所有压缩包将解压到/opt/中"
tar zxvf $lj/nginx-1.12.2.tar.gz -C /opt/ &> /dev/null

################################################
#nginx安装

#安装环境
echo "安装环境。"
yum install pcre* zlib-devel gcc gcc-c++ -y

#创建程序型用户
echo "创建nginx系统用户。"
useradd -M -s /sbin/nologin nginx

cd /opt/nginx-1.12.2
#编译 安装路径、用户、组、统计模块
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install

#建立软连接方便系统识别命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

touch /etc/init.d/nginx
#创建一个启动脚本
cat >> /etc/init.d/nginx << EOF
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
case \$1 in
  start)
 /usr/local/nginx/sbin/nginx
 ;;
  stop)
  killall -s QUIT /usr/local/nginx/sbin/nginx
  ;;
   restart)
  killall -s QUIT /usr/local/nginx/sbin/nginx
    /usr/local/nginx/sbin/nginx
  ;;
   reload)
   killall -s HUP /usr/local/nginx/sbin/nginx
   ;;
  *)
  echo "Usage: $0 {start|stop|restart|reload}"
  exit 1
esac
exit 0
EOF

echo 'PATH=/usr/local/nginx/sbin/nginx:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile

#添加执行权限
chmod +x /etc/init.d/nginx

#将命令导入系统
chkconfig --add nginx

2.修改主配置文件,将jsp动态请求发送给Tomcat处理。

vim /usr/local/nginx/conf/nginx.conf

location ~.*.jsp$ {    										#匹配以jsp为结尾的请求
	proxy_pass http://192.168.80.134:8080; 					#跳转到Tomcat的服务器
	proxy_set_header Host $host;							#头部请求
}

location ~.*\.(gif|jpg|png|bmp|swf|css)$ {
	root html;
	expires 20d;											#开启缓存功能

	gzip on;												#开启图片压缩功能
	gzip_min_length 1k;
	gzip_buffers 4 16k;
	gzip_http_version 1.1;
	gzip_comp_level 6;
	gzip_types text/plain application/x-javascript text/css image/jpg image/png image/jpeg image/gif application/xml text/javascript application/x-httpd-php application/javascript application/json;
	gzip_disable "MSIE [1-6]\.";
	gzip_vary on;
}

将图片放进相应的目录。

3.由于图片路径要和tomcat的站点路径一致,所以也要创建相应的站点目录。

mkdir /usr/local/nginx/html/aaa
cp /mnt/overlord.png /usr/local/nginx/html/aaa

4.修改nginx站点内容

vim /usr/local/nginx/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>This is static</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>this web is static</h1>
<p><em>This page is static...</em></p>
</body>
</html>

在这里插入图片描述

三、Tomcat服务搭建

1.Tomcat安装脚本如下:

#!/bin/bash
#安装jdk
rpm -ivh /mnt/tomcat/jdk-8u201-linux-x64.rpm 

#到安装路径
cd /usr/java/jdk1.8.0_201-amd64

#jdk添加环境变量
#vim /etc/profile
echo "export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64" >> /etc/profile
echo "export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile

#更新
source /etc/profile

#查看版本
java -version

#解压Tomcat
tar zxvf /mnt/tomcat/apache-tomcat-9.0.16.tar.gz -C /usr/local/

cd /usr/local/
#重命名Tomcat
mv apache-tomcat-9.0.16/ tomcat

#建立启动和关闭软连接到bin目录中
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/

2.在Tomcat服务器上搭建动态页面站点。

#在tomcat上部署动态网页
#站点路径
vim /usr/local/tomcat/webapps/aaa/index.jsp
<%@ 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>
<title>it works!</title>
</head>
<body>
<div> 这是动态页面</div>
<img src="overlord.png"/>
</body>
</html>

四、实验结果

在这里插入图片描述
查看抓包
、
在这里插入图片描述
我访问的是nginx服务器IP地址,后面加上Tomcat的动态页面路径就可以将动态请求交给Tomcat处理。此实验成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值