NGINX+TOMCAT动静分离

NGINX+TOMCAT动静分离实验

一、动静分离原理
  服务端接收来自客户端的请求中,有一部分是静态资源的请求,例如 html、css、js和图片资源等等。有一部分是动态数据的请求。因为 Tomcat 处理静态资源的速度比较慢,所以可以考虑把所有静态资源独立开来,交给处理静态资源更快的服务器(例如 Nginx)处理,而把动态请求交给 Tomcat 处理。 在机器上同时安装了 Nginx 和 Tomcat,把所有的静态资源都放置在 Nginx的 webroot 目录下面,把动态请求的程序都放在 Tomcat 的目录下面。当客户端访问服务端的时候,如果是静态资源的请求,就直接到 Nginx 的目录下面获取资源。如果是动态资源的请求,Nginx 利用反向代理的原理,把请求转发给 Tomcat 进行处理,这样就实现了动静分离,提高了服务器处理请求的性能。
二、WEB服务搭建
    1)Nginx源码安装
       yum install -y pcre*
                            //下载依赖包
       yum -y install openssl*
       useradd -s /sbin/nologin nginx
       wget http://nginx.org/download/nginx-1.14.2.tar.gz
       tar -zxvf nginx-1.14.2.tar.gz -C /opt
       cd /opt/nginx-1.14.2
       ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
       make && make install
                            //安装完成
       vi /etc/init.d/nginx

#!/bin/bash

# chkconfig: 35 99 20

# description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx"

PIDF="/usr/local/nginx/logs/nginx.pid"

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

       chmod +x /etc/init.d/nginx

       chkconfig --add nginx

       ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

       systemctl start nginx

       netstat -tnlp | grep nginx

    可以访问一下
在这里插入图片描述
    2)Tomcat源码安装,由于Tomcat是基于java语言编写的,所以要搭建JDK环境
     JDK官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
     Tomcat官网下载地址:https://tomcat.apache.org/download-90.cgi

       rz //传输 jdk-8u91-linux-x64.tar.gz
       rz //传输 apache-tomcat-9.0.36.tar.gz
       tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
       vi /etc/profile            //末行插入

export JAVA_HOME=/usr/local/jdk1.8.0_91

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH  

       source /etc/profile            //刷新文件

[root@localhost ~]# java -version
java 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)

                              //JDK环境搭建完成

      tar zxvf apache-tomcat-9.0.36.tar.gz -C /usr/local/
      mv /usr/local/apache-tomcat-9.0.36/ /usr/local/tomcat
      cd /usr/local/tomcat
      /usr/local/tomcat/bin/startup.sh
      netstat -anpt | grep 8080        //过滤出Tomcat的默认端口,就搭建完成了
在这里插入图片描述
三、动静分离实现
      vi /usr/local/nginx/conf/nginx.conf

location ~ .*.jsp$ { 

                              proxy_pass http://192.168.80.38:8080;

                              Host $host;

        }

                              //在server内嵌套将动态.jsp请求发送到Tomcat服务器上,实验就只用了一台虚拟机,不同端口也可以凑合用

     vi /usr/local/nginx/html/index.html          //在Nginx中编写静态网页,图片放在当前目录下就行了

           <html>
           <title>静态页面</title>

           <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>

            <body>

            <h1>GOOD LUCK TO YOU</h1>
            <h1>看我神威,无坚不摧!</h1>

           <img src="1.jpg" width = "20%" heigth = "20%" alt="刘谋" />

            </body>

            </html>
~                      

     vi /usr/local/tomcat/webapps/test/index.jsp      //在Tomcat中编写动态网页,图片放在Nginx网页目录下创建一个和Tomcat网页项目相同名字的目录下

<!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>
 <img src="2.jpg" width = "50%" heigth = "50%" alt="桐谷和人" />
</body> </html>

     systemctl restart nginx                 //重启nginx使更改的配置文件生效

     chmod 777 *.jpg                     //要给图片执行权限

     在Windows的C:\Windows\System32\drivers\etc下

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
    192.168.80.38   www.lxm.com

四、效果呈现

  Nginx页面静态呈现
在这里插入图片描述
   Tomcat动态页面呈现
在这里插入图片描述

动静分离实验完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值