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 动静分离的更多相关文章

  1. Nginx动静分离经典

    Nginx:安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等]把所需的包下载到/usr/src下[根据自己的习惯,路径可以改变]1.首先安装pcre: cd /usr/s ...

  2. Nginx动静分离实现

    Nginx动静分离实现: Nginx是一种轻量级,高性能,多进程的Web服务器,非常适合作为静态资源的服务器使用,而动态的访问操作可以使用稳定的Apache.Tomcat及IIS等来实现,这里就以Ng ...

  3. Nginx动静分离架构

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

  4. Nginx 动静分离与负载均衡的实现

    一.前提 企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题. 问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环 ...

  5. Nginx动静分离

    动静分离 Nginx动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路. ...

  6. Nginx动静分离架构&&HA-LB集群整合

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

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

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

  8. Nginx动静分离知识及配置

    Nginx动静分离知识及配置,本质上与分离上传下载功能是相同功能,本质就是在文件服务器也是需要部署WEB应用的,只是在进行代理分离的时候分配到对应的文件服务器上去. 随着Nginx高性能Web服务器大 ...

  9. Nginx动静分离(Nginx+Tomcat)

    第一步:nginx构建 第二步:Tomcat构建 1.Tomcat基础点 (1)Tomcat 是基于java开发的web容器,用来发布java代码和jsp网页. (2)开发人员开发java web网站 ...

  10. nginx动静分离简单实例实现

    什么是动静分离? Nginx 动静分离简单来说就是把动态和静态请求分开,不能理解成只是将动态页面和静态页面物理分离.严格意义上说应该是动态请求和静态请求分开,可以理解成使用 nginx 处理静态页面, ...

随机推荐

  1. logback.xml设置mogodb日志打印控制台

    <logger name="org.springframework.data.mongodb.core" level="DEBUG"/>

  2. ubuntu---查看、安装、切换内核

    首先可以查看一下内核列表:sudo dpkg --get-selections | grep linux-image     查看Linux中安装了哪些内核: dpkg --get-selection ...

  3. linux下postgres创建hive数据库

    操作步骤 #登录 [root@xxx01 ~]# su postgres bash-4.2$ psql -U postgres could not change directory to " ...

  4. 【SSM 项目】实战总结

           项目源代码

  5. 电子书及阅读器Demo

    电子书阅读器(Kindle,电子纸技术.LCD.电子墨水技术等: 亚马逊/当当网站)  电子书产业可分5大环节:内容供应商.数字格式制作商.内容流通服务平台.传输平台以及终端阅读器产品. 全球电子书市 ...

  6. Linux服务器yum安装mysql

    阿里云Linux 服务器安装mysql 可以用rpm 和yum 方式安装,我这次安装是采用yum方式安装 请直接复制以下链接,看安装步骤 https://www.cnblogs.com/nzplear ...

  7. nyoj 67

    三角形面积 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积   输入 每行是一组测试数据,有6个 ...

  8. Lesson 15 Secrecy in industry

    Why is secrecy particularly important in the chemical industries? Two factors weigh heavily against ...

  9. PAT T1012 Greedy Snake

    直接暴力枚举,注意每次深搜完状态的还原~ #include<bits/stdc++.h> using namespace std; ; int visit[maxn][maxn]; int ...

  10. 三、linux基础-常用命令man_cd_|_find_ln_>_history

    3通用命令3.1 man命令man pwd      来查看该命令的全部帮助手册备注:命令最终是在内核中执行的,但是内核并无法直接识别,所以先通过shell执行,然后再交给内核执行3.2 cd 命令c ...