JAVA语言之Nginx实现动静分离
小标 2019-02-18 来源 : 阅读 1078 评论 0

摘要:本文主要向大家介绍了JAVA语言之Nginx实现动静分离,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之Nginx实现动静分离,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

JAVA语言之Nginx实现动静分离

结合本文场景,需要安装Nginx和Java环境(运行SpringBoot项目)。


1.什么是动静分离?
在弄清动静分离之前,我们要先明白什么是动,什么是静。


在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTML,JavaScript,CSS,img等文件。


一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。


在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间 。


2.项目配置
修改SpringBoot应用启动类,做简单跳转,使访问根路径可以跳转到index.html,如下代码所示。


@SpringBootApplicationbr/>@Controller<br <="" a="">public class DemoApplication {


public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
}

@GetMapping("/")
public String index(){
    return "index";
}

}
复制代码
index.html代码如下所示,注意引入jquery.js,在引用成功会使用jquery给div赋值,代码如下所示。


<!DOCTYPE html>



    
    

这是一个静态页面


引用jquery.js成功



复制代码
项目结构如下所示,可以看到没有jquery.js,我们要做的就是使用Nginx来访问jquery.js。
![](https://s1.51cto.com/images/blog/201901/02/dc8a850a3a6e02292d975d6aaa8c2e54.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3.Nginx配置
修改nginx.conf配置,其中第一个location负责处理后台请求,第二个负责处理静态资源,如下所示。
worker_processes  1;
events {
    worker_connections  1024;
}
http {
   server {
       listen       10000;
       server_name  localhost;
      #拦截后台请求
      location / {
        proxy_pass //localhost:8888;
        proxy_set_header X-Real-IP $remote_addr;
      }
      #拦截静态资源
      location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
        root /Users/dalaoyang/Downloads/static;
       }
    }
}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程