2.1         前后台分离部署

(一)       组网图

(二)       简要说明:

如标题所示,至于为什么要前后台分离部署,个人理解的原因有三

(一)   便于部署

前台代码由nginx启动,无需再做前后台集成打包,节省升级维护资源。

(二)   便于维护

由于前后台分离而不是集成在一个tomcat中运行,此时如果需要对前端代码进行迭代部署时,仅需要对特定目录下的前端代码进行替换即可,无需前后台集成打包后又再次部署。节省升级维护资源。

(三)   解决跨域问题

首先我们一起理解一下什么是跨域。

当两个地址在协议、主机或者端口不一致的时候,即判定为跨域。

如果有兴趣的朋友可以查看附件链接查看详解资料。

如:我在192.168.1.110上部署的前端代码 需要向192.168.1.111的后台发送请求,此时就会出现跨域问题。

那么 nginx可以完美的解决此类问题,无论的内网跨域甚至是外网均可以正常访问。

(三)       nginx配置

#user  nobody;

worker_processes  1;    #开启niginx工作进程,一般几个CUP核心写几个

error_log  /usr/local/nginx/logs/error.log;

events {

worker_connections  1024;  #一个进程能同时处理1024个请求

}

http {

gzip on;        #开启gzip压缩

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.0;

gzip_comp_level 6;

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

#设置需要压缩的数据格式

gzip_vary on;

include       mime.types;

default_type  application/octet-stream;

sendfile on;

keepalive_timeout 65;

types_hash_max_size 2048;

# 日志配置

access_log /usr/local/nginx/access.log;

server {

listen       88;

server_name  relaxsystem.relax.com;   #注意这里我该了下访问域名

charset utf-8;

root /usr/local/123; #前端代码访问路径,

index index.html;

#定义index页面

error_page 404          /index.html;

location ^~ /api/     #反向代理通配所有的API接口

{

proxy_pass http://192.168.1.60:15587; #访问的后台

proxy_send_timeout 1800;

proxy_read_timeout 1800;

proxy_connect_timeout 1800;

client_max_body_size 2048m;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "Upgrade";

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded=-Proto $scheme;

}

}

测试备份配置文件:

查看前端代码放置路径

(四)       本地配置域名解析便于外网访问

a)    Windows配置访问验证

访问C:\Windows\System32\drivers\etc 下打开hosts文件 加入

relaxsystem027.gnway.cc relaxsystem.relax.com

上面的配置信息可以看到,我们用的192.168.1.119的前端代码向192.168.1.60的后台发送请求。所以我们

使用Postman向relaxsystem.relax.com:10388发送请求,并查看内网60访问的日志信息。

可以看到Postman发送成功且60的日志有相关日志信息,说明由119前端向60的后台发送的请求并得到相应的回执,这里跨域的问题就完美解决了。

b)    验证升级

我们一起试试60映射后的外网IP看看是不是真的实现了跨域。

路由器将192.168.1.60的15587端口映射至外网,外网端口为1060

然后修改配置文件

将之前的内网设置改为外网访问

重启nignx服务

再次发送请求

后台采用外网访问也是OK的。

a)    Linux配置访问验证

访问编辑/etc/hosts

内容参考windows下配置

验证内容:略

nginx实现前后台分离部署的更多相关文章

  1. 【转】Nginx+php-fpm+MySQL分离部署详解

    转:http://www.linuxidc.com/Linux/2015-07/120580.htm Nginx+php-fpm+MySQL分离部署详解 [日期:2015-07-26] 来源:Linu ...

  2. nginx+php-fpm+mysql分离部署详解

    相信大家将这三者部署到同一台主机应该已经不陌生了,今天在这里,给大家演示一下如何将三者部署到三台主机上. 实验系统:CentOS 6.6_x86_64 实验前提:大部分软件使用编译安装,请提前准备好编 ...

  3. nginx静态资源分离部署

    修改nginx.conf文件,用于nginx处理静态资源. 主要配置如下(在server配置中加入location配置即可): server { listen 80; server_name 123. ...

  4. 前后台分离部署时,Niginx上的部署

    upstream bowenpay_backend { server 127.0.0.1:9002; } server { listen 80; server_name wx.bowenpay.com ...

  5. Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?

    今天想把之前的一个demo用Nginx把资源分离开来,在网上看了一天,整整弄了一天,硬是没弄出来. 要么全是同样的内容的,要么就是环境跟我这里不一样的.再加上对Nginx没接触过,给我都整哭了差点. ...

  6. LNMP下动静分离部署phpmyadmin软件包

    LNMP环境肯定是先要配置好的.可以参考我之前的博客.那我们直接进行配置,我这里使用了三台机器进行动静分离部署,第一台负责nginx反向代理,第二台负责php-fpm应用程序以及mariadb的服务器 ...

  7. 《nginx 五》nginx实现动静分离

    Nginx+Tomcat动静分离 动态页面与静态页面区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. 什么是动 ...

  8. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

  9. lamp的动静分离部署

    一.lamp分离部署工作图 二.LAMP的安装与配置 1.环境准备 2.对 PHP 服务器进行部署 #以下为安装PHP及其依赖 [root@php ~ ]# .tar.gz -C /usr/src [ ...

随机推荐

  1. C#3种常见的定时器(多线程)

    总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...

  2. Oracle运行脚本:exp,hist 和 err

    上一篇我们讲到:首次使用rman备份数据库时,为了安全起见,我们应将整个数据库exp出来. 显而易见,每次都手敲exp代码是不可取的. ----费时费力还不规范! 为此,我们可以写一个exp脚本,之后 ...

  3. 汇编语言——物理地址=段地址x16+偏移地址,检测点2.2

    一.为什么 物理地址=段地址x16+偏移地址? 刚开始学时,我都笨到不明白为什么是2的N次方,咱把物理地址就当数字,计算机中数字是由很多位0或1自由组合的, 而每一位上要么是0要么是1,只有这两种情况 ...

  4. JavaFX简介和Scene Builder工具的安装使用简易教程

    JavaFX概述和简介 富互联网应用是那些提供与Web应用程序类似的功能,并可作为桌面应用程序体验的应用.与用户的正常网络应用程序相比,它们提供更好的视觉体验.这些应用程序可作为浏览器插件或作为虚拟机 ...

  5. 小白学 Python(16):基础数据类型(函数)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. 就因为加了Lombok的@Accessors(chain = true),bean拷贝工具类不干活了

    前言 这次新建了一个工程,因为 Lombok 用得很习惯,但以前的话,一般只用了@Data,@AllArgsConstructor,@EqualsAndHashCode等常规注解:那这个Accesso ...

  7. 有关logistic(sigmoid)函数回归

    在神经网络中,经常用到sigmoid函数,y = 1 / (1+e-x) 作为下一级神经元的激活函数,x也就是WX(下文,W以θ符号代替)矩阵计算结果. 这个函数通常用在进行分类,通常分为1或0的逻辑 ...

  8. [考试反思]1014csp-s模拟测试73:侵蚀

    嗯...还是没有改变那个现状 依旧只是打满了暴力,虽说T2打的的确比暴力好很多,但是因为出题人没有设分所以和暴力等同. 离上面的分差还是大的很,下面还是追的很紧 而且进几场的排名也是连续下滑... 虽 ...

  9. 7.22 NOIP模拟7

    又是炸掉的一次考试 T1.方程的解 本次考试最容易骗分的一道题,但是由于T2花的时间太多,我竟然连a+b=c都没判..暴力掉了40分. 首先a+b=c,只有一组解. 然后是a=1,b=1,答案是c-1 ...

  10. 理解np.nonzero()函数

    举三个例子,就能清楚的看到 np.nonzero() 这个函数返回值的意义 一. #例1 一维数组 import numpy as np a = [0,1,2,0,3,0] b = np.nonzer ...