一、动静分离

1、通过中间件将动态请求和静态请求分离。

2、为什么?

分离资源,减少不必要的请求消耗,减少请求延时。

3、场景

还可以利用php,fastcgi,python 等方式 处理动态请求

#pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;include        fastcgi_params;
}

处理php动态请求

[root@web-01 ~]# cat ngixn.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {worker_connections 1024;
}
http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
​include             /etc/nginx/mime.types;default_type        application/octet-stream;​include /etc/nginx/conf.d/cp4/*.conf;
}

#主配置文件

server conf 的配置

[root@web-01 ~]# cat test_mysite.conf
​
upstream java_api{server 127.0.0.1:8080;
}
server {listen       80;server_name  web01.fadewalk.com;
​access_log  /var/log/nginx/host.access.log  main;root /opt/app/code/cp4/code;
​location ~ \.jsp$ {proxy_pass http://java_api;index  index.html index.htm;}
​location ~ \.(jpg|png|gif)$ {expires 1h;gzip on;}
}


Tomcat 部署jsp页面

[root@web-01 ROOT]# tomcat version
Server version: Apache Tomcat/7.0.76
Server built:   Mar 12 2019 10:11:36 UTC
Server number:  7.0.76.0
OS Name:        Linux
OS Version:     3.10.0-957.21.2.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_212-b04
JVM Vendor:     Oracle Corporation
​
[root@web-01 ~]# cd /usr/share/tomcat/webapps
[root@web-01 webapps]# mkdir ROOT
[root@web-01 webapps]# cd ROOT/
[root@web-01 ROOT]# pwd
/usr/share/tomcat/webapps/ROOT              #/usr/share/tomcat/webapps 所有页面目录,没有ROOT目录时,需要自己新建,ROOT目录为默认的网站页面目录 ,项目目录必须大写,对应配置
[root@web-01 ROOT]# ll
total 4
-rw-r--r--. 1 root root 343 Jun 17 02:14 java_test.jsp

view

​访问页面
<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://jeson.t.imooc.io/java_test.jsp",success: function(data) {$("#get_data").html(data)},error: function() {alert("fail!!!,请刷新再试!");}});
});
</script>
<body><h1>测试动静分离</h1><img src="http://jeson.t.imooc.io/img/nginx.png"/><div id="get_data"><div>
</body>
</html>

test_mysite.html

​处理动态页面请求
<%@ 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>

java_test.jsp


测试


Nginx动静分离-tomcat相关推荐

  1. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)...

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  2. Nginx动静分离实现负载均衡

    转载自   Nginx动静分离实现负载均衡 前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. Nginx.conf配置 1 # 定义Ngin ...

  3. 【nginx】nginx 动静分离

    1.概述 Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx,处理静态页面,Tom ...

  4. nginx动静分离配置_Nginx动静分离配置实例

    点击▲关注 "长安大司马"   给公众号标星置顶 更多精彩 第一时间直达 父亲节快乐 HAPPY FATHER'S DAY 1 .什么是动静分离 Nginx 动静分离简单来说就是把 ...

  5. Nginx 动静分离 -02

    Nginx 动静分离 ---- --------切记 10.10.0.7 一.单台机器动静分离 [root@web01 ~]# cat /etc/nginx/conf.d/linux12.wp.com ...

  6. nginx动静分离和资源隔离的网站搭建

    | 作业 nginx动静分离和资源隔离的网站搭建 一.动静分离的网站 0.准备环境 主机 IP 主机角色 条件 web01 192.168.15.7 Android页面 关闭防火墙和selinux w ...

  7. Nginx动静分离配置

    Nginx动静分离 一.动静分离介绍 动静分离,通过中间件将动态请求和静态请求进行分离 通过中间件将动态请求和静态请求分离,可以减少不必要的请求消耗,同时能减少请求的延时. 通过中间件将动态请求和静态 ...

  8. 谷粒商城项目篇8_分布式高级篇_商城首页、性能压测、优化(Nginx动静分离)

    目录 商城首页 整合thymeleaf springmvc的WebMvcAutoConfiguration 首页三级分类渲染 Nginx代理 Nginx代理会丢掉host信息 压力测试 性能检测 性能 ...

  9. Nginx动静分离详解

    Nginx动静分离基本概述 动静分离,通过中间件将动态请求和静态请求进行分离 那为什么要通过中间件将动态请求和静态请求进行分离?减少不必要的请求消耗,同时能减少请求的延时. Nginx动静分离场景实践 ...

最新文章

  1. 46 岁美国华裔“鞋王”意外去世,25 岁创业成亿万富翁
  2. SQL Server 行列转换(2)
  3. 文巾解题 567. 字符串的排列
  4. STM32中使用静态“字符串的方式”
  5. mybatis plus generator配置
  6. Qt经验积累:常见的驱动打包处理方法
  7. JAVA之outofmemory
  8. 某些数组和字符串类型转换(转)
  9. box-sizing的类型
  10. tftp协议 服务器怎么返回错误信息,tftp执行流程
  11. 吾爱破解crackme 023 024
  12. mkcert在windows系统上制作SSL证书
  13. xsmax进入dfu模式_苹果xsmax怎么进入dfu
  14. DX11 游戏开发笔记 (一) 资源介绍
  15. 不良意志品质及其克服
  16. layui.css如何使用,Layui新手教程
  17. java 高效计算99乘法表_【九九乘法表】九九乘法表学习攻略 九九乘法表快速记忆小诀窍...
  18. tomca的用户设置
  19. 高精度数字高程数据1m的dem
  20. python给excel排序_用python处理excel数据(六)实现excel表中排序功能

热门文章

  1. java原子引用怎么理解_Java 原子性引用 AtomicReference
  2. barrier linux,LinuxBarrierI/O的介绍有哪些呢? 爱问知识人
  3. java中isolate时间_flutter/dart里面,一个isolate一般heap多大?
  4. DGL教程【五】使用自己的数据集
  5. 再见!妈妈再也不用担心我的计算机基础!
  6. 历害了!教你自己搭建一个私人网盘..
  7. 系统超时或者服务器会话丢失,第 17 章 配置 Web 服务器(Undertow)
  8. 试用c51语言采样连续5次异常_浙江省动态血压监测操作及诊断规范(试用版)
  9. pppoe错误代码 linux,PPPOE常见故障代码及分析
  10. python开发config层_Python全栈开发:configparser模块