网站首页 > 技术教程 正文
实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过JSON进行数据交互。
对于前端开发人员来说,不用每次调试都需要启动或配置Java/Tomcat运行环境;对于后端开发人员来说 ,也不用在需要往页面注入数据。
通过nginx来部署前端代码,可以帮助前端实现以下基本需求:
1、请求转发,解决请求跨域的问题
server {
listen 7777;
location /{
root /Users/xiaoyun/git/someproject/dist;
}
location /api/v1{
proxy_set_header Host api.yourhost.com;
proxy_pass http://api.yourhost.com/api/v1/;
}
location /api/v2{
proxy_pass http://api.yourhost.com/new;
}
}
以上是一段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/v2/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; (什么类型的页面或文档启用压缩)
猜你喜欢
- 2024-10-14 Jenkins+Gitlab+Nginx+SonarQube+Maven编译Java项目自发布与回退
- 2024-10-14 三句话测试你是否懂git(用几句话测试对方喜不喜欢你)
- 2024-10-14 Nginx 反向代理及负载均衡实践(nginx反向代理与负载均衡)
- 2024-10-14 JAVA 项目如何进行 git 多人协作开发
- 2024-10-03 让Jenkins自动部署你的Vue项目「实践」
- 2024-10-03 流媒体开发学习5 CentOS搭建Nginx+Rtmp服务端
- 2024-10-03 Nginx + uWSGI 部署Django站点(nginx和uwsgi部署flask项目)
- 2024-10-03 纯 Git 实现前端 CI/CD(git js)
- 2024-10-03 搭建Nginx+rtmp+hls直播推流服务器
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)