我是靠谱客的博主 可爱帆布鞋,最近开发中收集的这篇文章主要介绍nginx反向代理前后端分离项目(后端多台),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

https://www.cnblogs.com/liuxiutianxia/p/11046160.html

目前软件架构都比较流行前后端分离,前后端的分离也实现了前后端架构的分离,带来的好处 —— 整个项目的开发权重往前移,实现真正的前后端解耦,动态资源和静态资源分离,提高了性能和扩展性。

通常SpringBoot与vue 进行前后端分离,主要有两种方式:

1.打包(npm run build命令)vue项目出来的dist文件夹拷贝到springboot项目的static文件目录,部署到tomcat即可。

2.利用nginx的反向代理。

本文主要讲解第二种

首先打包前端项目到指定目录:E:fjghdist

然后部署后端项目到不同的Tomcat服务器,请求地址分别是:

  http://localhost:8086/un/

  http://localhost:8087/un/

重点是nginx配置

1.在配置文件http模块添加后端服务负载均衡策略配置,常用有三种策略,本例使用默认轮询

1

2

3

4

5

#负载均衡配置:轮询(默认) 指定权重 IP绑定;

    upstream fjghmultiple{

        server localhost:8086;

        server localhost:8087;

    }

2.添加server配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

server {

    listen       80;

    server_name  localhost;

 

    #charset koi8-r;

 

    #access_log  logs/host.access.log  main;

 

    location / {

        #root  html;

        root   E:fjghdist ;#vue项目的打包后的dist

        index  index.html index.htm;

        #开启gzip压缩,降低传输流量,减少响应时间

        gzip  on;

        gzip_min_length    1k;

        gzip_buffers    4 16k;

        gzip_http_version  1.1;

        gzip_comp_level  2;

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

        gzip_vary on;

    }

    location /un/ {

        #代理后端服务

        proxy_pass http://fjghmultiple/un/;

    }

 

}

3.通过start nginx 命令启动nignx 访问地址 http://localhost 即可

补充:多个后台需要考虑用户登录状态同步的问题,我们使用的是通过spring-session实现session共享:当web服务器接收到http请求后,请求进入到对应的Filter进行过滤,原表需要由web服务器创建会话的过程转交给spring-session进行创建,本来创建的会话保持在web服务器内存中,通过spring-session创建的会话信息可以保存在第三方的服务中,比如:redis,mysql等。各个web服务器之间通过连接第三方服务来共享数据,实现session共享。

最后

以上就是可爱帆布鞋为你收集整理的nginx反向代理前后端分离项目(后端多台)的全部内容,希望文章能够帮你解决nginx反向代理前后端分离项目(后端多台)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部