实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过JSON进行数据交互。

对于前端开发人员来说,不用每次调试都需要启动或配置Java/Tomcat运行环境;对于后端开发人员来说 ,也不用在需要往JSP页面注入数据。

通过nginx来部署前端代码,可以帮助前端实现以下基本需求:

1、请求转发,解决请求跨域的问题

server {

listen       7777;

location /{

root   /Users/xiaoyun/git/someproject/dist;

}

location /api/v1{

proxy_set_header Host api.yourhost.com;

}

location /api/v2{

}

}

以上是一段nginx配置参考:

listen    nginx服务端口号

location  /    设置默认根目录所访问的本地代码路径,这里还可以设置默认主页index

proxy_pass   请求转发,可以配置多个,从上至下进行匹配

以第一个配置为例,即所有本地以/api/v1开头的请求都会转发至对应线上服务器,

例如  http://localhost:7777/api/v1/getConfig 则会自动转发自http://api.yourhost.com/api/v1/getConfig

另外,还需要注意的是,proxy_pass配置的路径如果是以/结尾,如上面的配置v1,那么此时路径为相对路径,否则为绝对路径

例如 v2的转发配置:

如果请求 http://localhost:7777/api/v1/user/list则会转发自http://api.yourhost.com/new/user/list,不会带有原路径的 /api/v2

2、gzip请求压缩

网站开启gzip压缩,不仅能够节省带宽,也能够快速响应用户的访问

http{

gzip  on;

gzip_proxied any;

gzip_min_length  1024;

gzip_buffers     4 8k;

gzip_comp_level 3;

gzip_types       text/plain text/css application/x-javascript application/javascript application/xml application/json;

}

以下为各项配置作用:

gzip on;      (启用 gzip 压缩功能)

gzip_proxied any;  (nginx 做前端代理时启用该选项,表示无论后端服务器的headers头返回什么信息,都无条件启用压缩)

gzip_min_length  1024; (最小压缩的页面,如果页面过于小,可能会越压越大,这里规定大于1K的页面才启用压缩)

gzip_buffers     4 8k; (设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流)

gzip_comp_level 3; (压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU,一般设置为3就可以了)

gzip_types       text/plain text/css application/x-javascript application/javascript application/xml application/json; (什么类型的页面或文档启用压缩)

前端网页发布到nginx_通过nginx部署前端代码实现前后端分离相关推荐

  1. Windows下部署若依(前后端分离)

    目录 1.下载JDK1.8并配置环境 2.下载node并配置 3.下载MYSQL并安装 4.配置数据库 5.下载Redis并设置开机启动 (1)下载地址 (2)安装并设置开机启动 6.发布若依服务端 ...

  2. nginx配置反向代理解决前后端分离跨域问题

    2019独角兽企业重金招聘Python工程师标准>>> 摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server {listen 80 ...

  3. Nginx代理同域名下前后端分离,有web端和微信端的项目

    Nginx的安装.使用大家一定都会,也有很多教程,我记录一下配置 SSL使用的是阿里的免费SSL server {listen 443 ssl;server_name XXXXXXX.com;ssl_ ...

  4. 前后端分离前端部署方案是什么?

    这段时间,粉丝朋友会经常问到一个问题,即:前后端分离如何部署?前端部署方案是什么?虽然我们回复了很多次,但是依然有不少朋友有疑问.今天,小编就给大家整理出来,如果对这个问题感兴趣,就可以收藏起来随时查 ...

  5. Spring Boot2.x-13前后端分离的跨域问题解决方法之Nginx

    文章目录 概述 浏览器同源策略 后台搭建 pom.xml interceptor 配置 Controller 启动测试 浏览器和session 后端工程发布到服务器上 问题复现 通过Nginx反向代理 ...

  6. 无需CORS,用nginx解决跨域问题,轻松实现低代码开发的前后端分离

    近年来,前后端分离已经成为中大型软件项目开发的最佳实践. 在技术层面,前后端分离指在同一个Web系统中,前端服务器和后端服务器采用不同的技术栈,利用标准的WebAPI完成协同工作.这种前后端分离的&q ...

  7. 动静分离java html_动静分离-前后端分离部署

    #静态态资源文件分离发布 遇到的问题 多节点web服务器部署期间,访问静态资源可能会出现404. 为什么? 如果java进程我们以jar打包的方式打包文件并启动.假设有N多个pod,客户端请求会随机访 ...

  8. Nginx实现静态代理,负载均衡,前后端分离

    Nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式对后端服务器做负载均 ...

  9. 前后端分离/前端模块化/传统页面和单页面

    前后端分离讲解 1.从MVC到前后端分离 MVC:Model + View + Controller,即模型+视图+控制器,项目开发时分层会分为三层:控制层,业务层,持久层. 前后端分离:目前比较常用 ...

最新文章

  1. 'pip' 不是内部或外部命令,也不是可运行的程序
  2. mysql select db 废弃_php 项目放服务器显示mysql_connect 已经废弃 ?
  3. 富士通服务器安装操作系统,富士通平板u盘安装系统教程
  4. oracle:sql查询
  5. zabbix配置发送报警邮件
  6. 硕博士的朋友圈都有哪些特点?
  7. linux基础-第十六单元 yum管理RPM包
  8. Kafka内核理解:消息的收集/消费机制
  9. Tosca:键盘输入字符串
  10. java 栈 堆 区别_java中栈与堆的区别
  11. Android Studio如何隐藏系统的状态栏
  12. Apache RewriteCond on HTTP_COOKIE
  13. IntelliJ IDEA 将 Maven 构建的 Java 项目打包
  14. 从键盘录入10个整数,统计有多少个奇数,Java基础轻松实现
  15. bootstrap导航栏.nav与.navbar区别
  16. dpbs和pbs的区别_PBS与TBS区别
  17. 三做一年级算术题-吐槽挖雷
  18. FFmpeg指令(./ffmpeg -h long)
  19. Modern Cpp 并发编程指南
  20. dmesgprintk的工作原理

热门文章

  1. Scikit-Learn库概述
  2. 大数据给企业带来的好处有哪些
  3. java学习(六)多线程 上
  4. mongo 多条件筛选_Excel筛选功能,你确定这些小技巧你都玩明白了
  5. javaweb课堂练习继承与重写怎么做_深入学习Java Web(一):深入了解Servlet
  6. linux如何拿到文件的返回值,linux 怎么判断文件挂载是否成功,根据什么样的返回值?...
  7. matlab libjli.so,error while loading shared libraries: libjli.so 问题解决
  8. 因果推断笔记——自整理因果推断理论解读(七)
  9. docker︱在nvidia-docker中使用tensorflow-gpu/jupyter
  10. sklearn库的学习入门