Nginx动静分离

所谓的动静分离就是通过中间件将静态请求和动态请求进行分离,目的是为了分离资源,对于服务端减少不必要的请求消耗,对于客户端减少响应的延时。

下面将使用Tomcat服务处理动态的请求,使用jpg处理静态请求。而Nginx则作为中间件将这两个服务请求进行分离

1、安装Tomcat以及web界面管理包,使用阿里云yum源安装tomcat(阿里云的搭建yum的方法:https://blog.csdn.net/vincen123/article/details/81436167

yum -y install tomcat tomcat-webapps tomcat-admin-webapps


systemctl start tomcat
#启动tomcat服务

2、在Tomcat的目录下创建一个动态的jsp文件,名为java_test.jsp  

vim /usr/share/tomcat/webapps/ROOT/java_test.jsp

##   动态产生一个随机数字  ##  
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
<HTML>
    <HEAD>
        <TITLE>JSP Test Page</TITLE>
    </HEAD>
    <BODY>
        <%
            Random rand = new Random();
            out.println("<h1>Random number:</h1>");
            out.println(rand.nextInt(99)+100);
        %>
    </BODY>
</HTML>

3、启动Nginx服务

systemctl start nginx

4、修改Nginx配置文件

vim /etc/nginx/conf.d/test.conf
upstream java_api{
        server 127.0.0.1:8080;
    }

    listen       80;
    server_name  localhost;
    
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    
    location ~ \.jsp$ {
        proxy_pass http://java_api;
        index index.html index.htm;
    }   
    
    location ~ \.(jpg|png|gif)$ {
        expires 1h;
        gzip on;
    }   
    
    location / {
        root   /opt/server;
        index  index.html index.htm;
    }   

5、上传一张图片到虚拟机里,这里将图片放置在/opt/server/code,图片名为nginx.jpg

pwd               #查看当前路径
/opt/server/code

上传一张静态图片,jpg或者png结尾的

ls         #查看当前目录下的文件
nginx.jpg

6、到相应路径下创建HTML文件

vim /opt/server/test.html
<html lang="en">  
<head>  
<meta charset="UTF-8" />  
<title>测试ajax和跨域访问</title>  
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>  
</head>  
<script type="text/javascript">  
$(document).ready(function(){  
    $.ajax({  
        type: "GET",  
        url: "http://172.25.0.1/java_test.jsp",
        success: function(data) {
            $("#get_data").html(data)
        },
        error: function() {  
            alert("fail!!!,请刷新再试!");  
        }  
    });  
});  
</script>  
<body>  
    <h1>测试动静分离</h1>
    <img src="http://172.25.0.1/code/nginx.jpg"/>
    <div id="get_data"><div>
</body>
</html>  

7、检查Nginx的配置语法以及重新载入Nginx的服务

nginx -tc /etc/nginx/nginx.conf

nginx -s reload -c /etc/nginx/nginx.conf

8、查看80端口(Nginx)和8080端口(Tomcat)的状态

netstat -luntp | grep 80

netstat -luntp | grep 8080

9、在浏览器访问“虚拟机IP/test.html”     (不断刷新,图片是静态的,数字会一直变化,是动态的)

10、关闭Tomcat、重新访问这个路径

systemctl stop tomcat

Tomcat是处理动态服务的,但把Tomcat服务关闭后,静态服务仍然可以正常运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值