5.3 Nginx 动静分离

Server 脚本片段
server {
listen ;
server_name ccserver1;
#charset koi8-r;
access_log logs/host.access.log main;
index index.html index.htm index.jsp;
root /usr/tomcat-8.0.-RC5-/webapps/ROOT/;
location ~* .*\.(jpg|jpeg|gif|png|swf|ico)$ {
if (-f $request_filename){
break;
}
}
location ~* .*\.(html|htm|js|css)$ {
# express id;
}
location / {
proxy_pass http://cctest1.com;
# root html;
# index index.html index.htm;
}
备注:脚本片段,第一个,第二个lcation 是没有配置proxy_pass 代理地址的,这个时候回默认到 root的下面去找静态资源
root /usr/tomcat-8.0.0-RC5-1/webapps/ROOT/;
场景测试一
注释:第一个,第二个location,查看tomcat的日志信息

场景测试二
取消注释:第一个,第二个location,查看tomcat的日志信息

结果
实现了动静分离
搭建我们自己电商平台的动静分离
访问:http://172.20.10.5/architecture1web
结果(发现静态资源图片无法找到)

因此需要修改 nginx.conf配置文件里面的root 路径
修改前
root /usr/tomcat-8.0.-RC5-/webapps/ROOT/;
修改后
root /usr/tomcat-8.0.-RC5-/webapps
仍然找不到
检查图片地址(http://172.20.10.5/architecture1web/static/images/logo.jpg),但是172.20.10.5是nginx代理tomcat的地址,无法找到静态资源
进入linux操作系统目录查找是否有这个地址,发现没有静态资源

为什么tomcat直接访问路径“http://172.20.10.5:8080/architecture1web/static/images/logo.jpg”的时候,可以直接访问? spring mvc进行了一次路径的映射转换,因此才可以正常访问
现在nginx直接进行静态资源的访问
拷贝wen-inf下面的static的目录到architecture1web目录
[root@eshop-cache04 WEB-INF]# cp -r static/ /usr/tomcat-8.0.-RC5-/webapps/architecture1web
检查静态资源

刷新页面

实现动静分离
电商平台可以实现动静分离,但是在访问tomcat的时候,出现静态资源访问的异常(http://172.20.10.5/)

修改nginx.conf的配置文件
root /usr/tomcat-8.0.-RC5-/webapps/ROOT;
location ~* ^/architecture1web/.*\.(jpg|jpeg|gif|png|swf|ico)${
root /usr/tomcat-8.0.-RC5-/webapps;
}
location ~* ^/architecture1web/.*\.(html|htm|js|css)${
root /usr/tomcat-8.0.-RC5-/webapps;
}
[root@eshop-cache04 sbin]# ./nginx -s reload
检查tomcat,一切正常

检查电商平台,一切正常

5.3 Nginx 动静分离的更多相关文章
- Nginx动静分离经典
Nginx:安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等]把所需的包下载到/usr/src下[根据自己的习惯,路径可以改变]1.首先安装pcre: cd /usr/s ...
- Nginx动静分离实现
Nginx动静分离实现: Nginx是一种轻量级,高性能,多进程的Web服务器,非常适合作为静态资源的服务器使用,而动态的访问操作可以使用稳定的Apache.Tomcat及IIS等来实现,这里就以Ng ...
- Nginx动静分离架构
Nginx动静分离简单来说就将动态与静态资源分开,不能理解成只是单纯的把动态页面和静态页面物理分离,严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat,Res ...
- Nginx 动静分离与负载均衡的实现
一.前提 企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题. 问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环 ...
- Nginx动静分离
动静分离 Nginx动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路. ...
- Nginx动静分离架构&&HA-LB集群整合
Nginx动静分离简单来说就将动态与静态资源分开,不能理解成只是单纯的把动态页面和静态页面物理分离,严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat,Res ...
- Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)
一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...
- Nginx动静分离知识及配置
Nginx动静分离知识及配置,本质上与分离上传下载功能是相同功能,本质就是在文件服务器也是需要部署WEB应用的,只是在进行代理分离的时候分配到对应的文件服务器上去. 随着Nginx高性能Web服务器大 ...
- Nginx动静分离(Nginx+Tomcat)
第一步:nginx构建 第二步:Tomcat构建 1.Tomcat基础点 (1)Tomcat 是基于java开发的web容器,用来发布java代码和jsp网页. (2)开发人员开发java web网站 ...
- nginx动静分离简单实例实现
什么是动静分离? Nginx 动静分离简单来说就是把动态和静态请求分开,不能理解成只是将动态页面和静态页面物理分离.严格意义上说应该是动态请求和静态请求分开,可以理解成使用 nginx 处理静态页面, ...
随机推荐
- 获取天气预报java代码
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; imp ...
- CRS-1硬件维护
一.CRS-1硬件介绍CRS-1 路由器是Cisco 推出的新的大容量骨干路由器,是一个支持多机箱扩展的路由系统.其设计容量可以扩展至72 个线卡机箱.8 个矩阵机箱,总交换容量达到92Tbps,具有 ...
- lc 0223
目录 ✅ 669. 修剪二叉搜索树 描述 解答 java py ✅ 883. 三维形体投影面积 描述 解答 my understanding c py py map ?? python zip(*gr ...
- iOS 开发之 生产者与消费者模式及其实现
概念: 在工作中,大家可能会碰到这样一种情况:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类.函数.线程.进程等).产生数据的模块,就形象地称为生产者:而处理数据的 ...
- 洛谷 P1886 滑动窗口(单调队列)
嗯... 题目链接:https://www.luogu.org/problem/P1886 首先这道题很典型,是标准的单调队列的模板题(也有人说单调队列只能解决这一个问题).这道题可以手写一个队列,也 ...
- spring aop @after和@before之类的注解,怎么指定多个切点
有如下两个切点: @Pointcut("execution(public * com.wyh.data.controller.DepartmentController.*(..))" ...
- push 、pop 、unshift 、shift
push .pop : 操作数组后面 unshift .shift :操作数组前面 push.unshift : 字母多的添加 pop .shift : 字母少的删除 push.unshift : 添 ...
- Trie学习总结
Trie树学习总结 字典树,又称前缀树,是用于快速处理字符串的问题,能做到快速查找到一些字符串上的信息. 另外,Trie树在实现高效的同时,会损耗更多的空间,所以Trie是一种以空间换时间的算法. T ...
- ES5-严格模式
在es5中可以开启一种严格模式的代码形式,开启方式是:将全局或者函数的第一条语句定义为:'use strict';. 如果浏览器不支持,会将其解析为一条普通语句,没有任何的副作用. 开启全局模式后会有 ...
- log4j 日志配置
参考:https://blog.csdn.net/x6582026/article/details/52179817/ 1.引入jar包 log4j-1.2.17.jar log4j-core-2.1 ...