共计 1728 个字符,预计需要花费 5 分钟才能阅读完成。
实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过 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;
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/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;(什么类型的页面或文档启用压缩)
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/136885.htm