nginx反向代理前后端分离项目(后端多台)

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

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

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

2.利用nginx的反向代理。

本文主要讲解第二种

首先打包前端项目到指定目录:E:\fjgh\dist

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

  http://localhost:8086/un/

  http://localhost:8087/un/

重点是nginx配置

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

#负载均衡配置:轮询(默认) 指定权重 IP绑定;
	upstream fjghmultiple{
		server localhost:8086;
		server localhost:8087;
	}

2.添加server配置

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
			#root  html;
            root   E:\fjgh\dist ;#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共享。

原文地址:https://www.cnblogs.com/liuxiutianxia/p/11046160.html

时间: 2024-10-06 01:01:35

nginx反向代理前后端分离项目(后端多台)的相关文章

Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第三部分

Nginx反向代理.动静分离.负载均衡及rewrite隐藏路径详解 (Nginx Apache MySQL Redis) 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 三.Nginx动静分离及负载均衡 3.1 Nginx安装 请参考:https://fengchenglangzi.000webhostapp.com/?p=511 亦

nginx反向代理(动静分离)

使用反向代理(动静分离)可以让nginx专注静态内容,把动态请求交给apache来处理,发挥各自的优势,而且整个架构更加清晰: 这里假设你已经搭建好了nginx环境; 为了简单起见,就不用源码编译安装了,直接使用apt方式安装,不影响说明: apt-get install apache2 -y apt-get install libapache2-mod-php7.0 #php版本随意 修改apache的配置文件,首先端口不能跟nginx重复: 采用apt方式安装的apache需要改如下两个配置

Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Nginx反向代理 负载均衡 页面缓存 URL重写及读写分离

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

[转载]Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

nginx反向代理

1. 操作系统 CentOS 6.4 x86_64 2.软件版本 Nginx 1.4.2 3.实验拓扑 注,实验拓扑见下文. 4.安装yum源 1 2 3 [root @nginx ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [[email protected] ~]# rpm -ivh http://download.fedoraproject.org/

Nginx+uwsgi+celery+supervisor部署Django前后端分离项目

本实验实现了负载均衡.反向代理.动静分离,还实现了根据客户端设备user-agent进行转发,也就是移动端和PC端访问的页面不一样. 1. 项目部署逻辑图 2. 环境准备 服务器:6台VM操作系统:CentOS7LB.www.wap:安装Nginxuwsgi1.uwsgi2:安装nfs-utils.Python3解释器.virtualenvNFS:安装NFSMRCS:安装MySQL.Redis.virtualenv 注意:这里不介绍软件的安装Nginx安装参考:http://blog.51cto

部署前后端分离项目

路飞前后端项目部署 前言 使用软件 vue 部署前段 uwsgi uWSGI是一个全功能的HTTP服务器,实现了WSGI协议.uwsgi协议.http协议等.它要做的就是把HTTP协议转化成语言支持的网络协议.比如把HTTP协议转化成WSGI协议,让Python可以直接使用. centos7 系统环境 virtulenv 在虚拟环境中部署后端项目 nginx 使用nginx做反向代理 redis 存储数据 mysql(mariadb) 存储数据 supervisor Linux/Unix系统下的