前端网页发布到nginx_通过nginx部署前端代码实现前后端分离
实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过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部署前端代码实现前后端分离相关推荐
- Windows下部署若依(前后端分离)
目录 1.下载JDK1.8并配置环境 2.下载node并配置 3.下载MYSQL并安装 4.配置数据库 5.下载Redis并设置开机启动 (1)下载地址 (2)安装并设置开机启动 6.发布若依服务端 ...
- nginx配置反向代理解决前后端分离跨域问题
2019独角兽企业重金招聘Python工程师标准>>> 摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server {listen 80 ...
- Nginx代理同域名下前后端分离,有web端和微信端的项目
Nginx的安装.使用大家一定都会,也有很多教程,我记录一下配置 SSL使用的是阿里的免费SSL server {listen 443 ssl;server_name XXXXXXX.com;ssl_ ...
- 前后端分离前端部署方案是什么?
这段时间,粉丝朋友会经常问到一个问题,即:前后端分离如何部署?前端部署方案是什么?虽然我们回复了很多次,但是依然有不少朋友有疑问.今天,小编就给大家整理出来,如果对这个问题感兴趣,就可以收藏起来随时查 ...
- Spring Boot2.x-13前后端分离的跨域问题解决方法之Nginx
文章目录 概述 浏览器同源策略 后台搭建 pom.xml interceptor 配置 Controller 启动测试 浏览器和session 后端工程发布到服务器上 问题复现 通过Nginx反向代理 ...
- 无需CORS,用nginx解决跨域问题,轻松实现低代码开发的前后端分离
近年来,前后端分离已经成为中大型软件项目开发的最佳实践. 在技术层面,前后端分离指在同一个Web系统中,前端服务器和后端服务器采用不同的技术栈,利用标准的WebAPI完成协同工作.这种前后端分离的&q ...
- 动静分离java html_动静分离-前后端分离部署
#静态态资源文件分离发布 遇到的问题 多节点web服务器部署期间,访问静态资源可能会出现404. 为什么? 如果java进程我们以jar打包的方式打包文件并启动.假设有N多个pod,客户端请求会随机访 ...
- Nginx实现静态代理,负载均衡,前后端分离
Nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式对后端服务器做负载均 ...
- 前后端分离/前端模块化/传统页面和单页面
前后端分离讲解 1.从MVC到前后端分离 MVC:Model + View + Controller,即模型+视图+控制器,项目开发时分层会分为三层:控制层,业务层,持久层. 前后端分离:目前比较常用 ...
最新文章
- 'pip' 不是内部或外部命令,也不是可运行的程序
- mysql select db 废弃_php 项目放服务器显示mysql_connect 已经废弃 ?
- 富士通服务器安装操作系统,富士通平板u盘安装系统教程
- oracle:sql查询
- zabbix配置发送报警邮件
- 硕博士的朋友圈都有哪些特点?
- linux基础-第十六单元 yum管理RPM包
- Kafka内核理解:消息的收集/消费机制
- Tosca:键盘输入字符串
- java 栈 堆 区别_java中栈与堆的区别
- Android Studio如何隐藏系统的状态栏
- Apache RewriteCond on HTTP_COOKIE
- IntelliJ IDEA 将 Maven 构建的 Java 项目打包
- 从键盘录入10个整数,统计有多少个奇数,Java基础轻松实现
- bootstrap导航栏.nav与.navbar区别
- dpbs和pbs的区别_PBS与TBS区别
- 三做一年级算术题-吐槽挖雷
- FFmpeg指令(./ffmpeg -h long)
- Modern Cpp 并发编程指南
- dmesgprintk的工作原理
热门文章
- Scikit-Learn库概述
- 大数据给企业带来的好处有哪些
- java学习(六)多线程 上
- mongo 多条件筛选_Excel筛选功能,你确定这些小技巧你都玩明白了
- javaweb课堂练习继承与重写怎么做_深入学习Java Web(一):深入了解Servlet
- linux如何拿到文件的返回值,linux 怎么判断文件挂载是否成功,根据什么样的返回值?...
- matlab libjli.so,error while loading shared libraries: libjli.so 问题解决
- 因果推断笔记——自整理因果推断理论解读(七)
- docker︱在nvidia-docker中使用tensorflow-gpu/jupyter
- sklearn库的学习入门