广告
返回顶部
首页 > 资讯 > 精选 >Docker+Nginx打包部署前后端分离怎么实现
  • 291
分享到

Docker+Nginx打包部署前后端分离怎么实现

2023-07-04 23:07:50 291人浏览 薄情痞子
摘要

这篇文章主要介绍“Docker+Nginx打包部署前后端分离怎么实现”,在日常操作中,相信很多人在Docker+Nginx打包部署前后端分离怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker+

这篇文章主要介绍“Docker+Nginx打包部署前后端分离怎么实现”,在日常操作中,相信很多人在Docker+Nginx打包部署前后端分离怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker+Nginx打包部署前后端分离怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    问题描述

    最近做了一个前后端分离的通用权限管理系统,今天想用自己的服务器部署下,本地部署测试是没问题的,但是部署在服务器上还是出现了许多小插曲,这里大概记录一下吧。

    项目打包

    前端项目打包

    由于我需要在同一个端口号下使用nginx部署多个前端项目,所以需要额外设置一些东西。

    修改Vue.config.js文件

    添加如下配置:

    Docker+Nginx打包部署前后端分离怎么实现

    router配置中添加base属性
    const createRouter = () => new Router({  // mode: 'history', // require service support  scrollBehavior: () => ({ y: 0 }),  routes: constantRoutes,  base:'/guigu'})

    Docker+Nginx打包部署前后端分离怎么实现

    打包前端项目

    执行命令:

    npm run build:prod

    Docker+Nginx打包部署前后端分离怎么实现

    Docker+Nginx打包部署前后端分离怎么实现

    出现dist文件夹说明打包成功

    Docker+Nginx打包部署前后端分离怎么实现

    后端项目打包

    这里我跳过了test步骤

    Docker+Nginx打包部署前后端分离怎么实现

    打包之后target文件夹下面会有jar

    Docker+Nginx打包部署前后端分离怎么实现

    将前端和后端的打包文件上传到服务器

    这里上传的方法较多,不过多赘述了。

    Docker+Nginx打包部署前后端分离怎么实现

    将dist.tgz文件解压即可

    tar -zxvf dist.tgz -C

    写你的解压路径即可

    nginx反向代理配置

    部分配置如下:

    Docker+Nginx打包部署前后端分离怎么实现

      server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {           proxy_pass Http://blog;   proxy_set_header HOST $host;   proxy_set_header X-Forwarded-Proto $scheme;   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }location ^~/prod-api/ {proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-NginX-Proxy true;proxy_pass http://127.0.0.1:8800/;}# guigu-auth配置location /guigu {alias /opt/guigu-auth/guigu-front/;index index.html index.htm;}        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }

    上面nginx.conf的配置分为两个部分,第一个部分实现前端vue的映射,

    即将

    /opt/guigu-auth/guigu-front/index.html

    映射成

    127.0.0.1:8080/guigu
    location /guigu {alias /opt/guigu-auth/guigu-front/;index index.html index.htm;}

    第二部分是将后端请求指向后端项目。这里直接替换了uri的前缀

    prod-api

    也就是说假设前端向后端发送的请求为

    http://localhost:8800/prod-api/admin/system/index

    经过nginx反向代理后,实际上到达后端的uri为

    http://localhost:8800/admin/system/index

    至此,前端项目部署完毕

    访问

    codeleader.top/guigu

    会出现如下页面说明前端部署成功

    Docker+Nginx打包部署前后端分离怎么实现

    后端通过Dockerfile打包成docker镜像

    这里为什么使用docker?

    我开始不想用这个,是直接将jar包在服务器上部署的,觉得小项目没必要用docker。

    但是由于我以前搭建个人博客的时候装的jdk11,这个项目使用jdk8开发的,环境不一致,docker的环境隔离机制非常适合现在这种情况,关于docker使用场景请看我docker专栏,这里不再赘述。

    编写Dockerfile

    # 基础镜像使用javaFROM java:8# 作者MAINTAINER xtt# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmpVOLUME /tmp# 将jar包添加到容器中并更名为guigu_docker.jarADD service-system.jar guigu_docker.jar# 运行jar包RUN bash -c 'touch /guigu_docker.jar'ENTRYPOINT ["java","-jar","/guigu_docker.jar"]#暴露8800端口作为微服务EXPOSE 8800

    构建Docker镜像

    将打包的后端项目jar包和Dockerfile放在同一个目录下面

    Docker+Nginx打包部署前后端分离怎么实现

    执行命令如下命令构建镜像:

    docker build -t guigu_docker:1.0 .

    Docker+Nginx打包部署前后端分离怎么实现

    查看构建的镜像

    docker images

    Docker+Nginx打包部署前后端分离怎么实现

    运行容器

    docker run -d -p 8800:8800 --name guigu-auth guigu_docker:1.0

    Docker+Nginx打包部署前后端分离怎么实现

    Docker+Nginx打包部署前后端分离怎么实现

    运行测试

    点击登录按钮,成功进入系统,说明前后端部署成功。

    Docker+Nginx打包部署前后端分离怎么实现

    Docker+Nginx打包部署前后端分离怎么实现

    Docker+Nginx打包部署前后端分离怎么实现

    现在这种部署方式跟部署单个微服务的方法一样,但是生产中不可能只有一个微服务,所以需要借助容器编排来实现一次打包一堆微服务,包括docker-compose、docker swam、k8sdevops等这还需要大量的开发实践才行,这些技术光学没用,要在自己的项目中实践才行。其实这里nginx和前端也可以用容器部署的,但这里暂时感觉没必要。

    开发+部署多有意思啊,现在整天搞自己不感兴趣的方向已经和当初自己想象的研究生科研生涯完全不同了,这种感觉或许只有自己读研之后才能感同身受了,虽有诸多无奈,但我绝不会放弃我所热爱的技术,架构师之路任重而道远。

    到此,关于“Docker+Nginx打包部署前后端分离怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: Docker+Nginx打包部署前后端分离怎么实现

    本文链接: https://www.lsjlt.com/news/348202.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Docker+Nginx打包部署前后端分离怎么实现
      这篇文章主要介绍“Docker+Nginx打包部署前后端分离怎么实现”,在日常操作中,相信很多人在Docker+Nginx打包部署前后端分离怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker+...
      99+
      2023-07-04
    • Docker+Nginx打包部署前后端分离步骤实现
      目录问题描述项目打包前端项目打包修改vue.config.js文件router配置中添加base属性打包前端项目后端项目打包将前端和后端的打包文件上传到服务器nginx反向代理配置后...
      99+
      2023-01-08
      Docker Nginx前后端分离 nginx前后端分离
    • 【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】
      文章目录 0、安装docker并准备一个springboot-vue前后端分离项目前后端打包放到服务器上1、docker 安装jdk2、docker 安装mysql通过Docker命令进入My...
      99+
      2023-09-03
      docker spring boot vue.js
    • docker-compose+nginx部署前后端分离的项目实践
      目录安装docker安装必要的系统工具软件源信息切换安装配置镜像加速器安装docker-compose安装权限修改解决js、css文件404的情况Vue项目配置安装docker 安装...
      99+
      2022-11-13
    • docker怎么部署前后端分离项目
      要部署前后端分离项目,可以使用Docker来实现。下面是一些步骤:1. 为前端和后端项目创建Dockerfile。Dockerfil...
      99+
      2023-10-20
      docker
    • 如何实现Docker部署前后端分离项目
      这篇文章给大家介绍如何实现Docker部署前后端分离项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、环境准备服务器阿里云服务器 1核+2GB即可软件本次部署采用的是 docker,因此软件环境都在 docker ...
      99+
      2023-06-21
    • Docker部署前后端分离项目的实现示例
      目录一、环境准备二、运行镜像解决问题Redis安装Nginx安装三、打包项目四、部署一、环境准备 服务器 阿里云服务器 1核+2GB即可 软件 本次部署采用的是 docker,因此软...
      99+
      2022-11-12
    • php前后端分离怎么部署
      在进行PHP前后端分离部署的过程中,一般涉及以下几个步骤:1. 前端项目构建:首先,你需要将前端项目构建为静态文件,包括HTML、C...
      99+
      2023-10-20
      php
    • 使用Jenkins+docker打包部署后端服务的实现
      目录安装Jenkins配置1、配置工具2、配置Publish over SSH3、编译构建4、推送jar包构建镜像老板给了两台服务器,一台windows用来打包,一台linux用于构...
      99+
      2022-11-13
      Jenkins docker打包部署
    • django前后端分离怎么实现
      要实现Django的前后端分离,可以使用Django Rest Framework(DRF)作为后端框架,同时使用一个前端框架(如R...
      99+
      2023-10-09
      django
    • JavaScript怎么实现前后端分离
      本篇内容介绍了“JavaScript怎么实现前后端分离”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 前...
      99+
      2022-10-19
    • SpringSecurity怎么实现前后端分离
      今天小编给大家分享一下SpringSecurity怎么实现前后端分离的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Sprin...
      99+
      2023-07-05
    • SpringBoot前后端分离项目,打包、部署到服务器详细图文流程
      文章目录 实施步骤一、修改配置文件地址1.修改MySQL配置2.修改Redis配置3.修改日志路径和字符集配置 二、将源码压缩并上传服务器1.上传前端文件2.上传后端文件(同上) 三、前端项目打包1.安装依赖2.项目打包...
      99+
      2023-08-18
      java tomcat linux springboot
    • Sping Security前后端分离怎么实现
      本篇内容主要讲解“Sping Security前后端分离怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Sping Security前后端分离怎么实现”吧!Spring...
      99+
      2023-07-05
    • flask和vue前后端分离项目部署的代码怎么写
      本篇文章为大家展示了flask和vue前后端分离项目部署的代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前段时间开发了一个项目, 我后端用的是flask框架写接口,前端用的是vue框架,项...
      99+
      2023-06-25
    • thinkphp怎么实现前后端分离的开发
      这篇文章主要讲解了“thinkphp怎么实现前后端分离的开发”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“thinkphp怎么实现前后端分离的开发”吧!跨域访问在前后端分离的开发中,前端通常...
      99+
      2023-07-05
    • thinkphp怎么实现前后端分离验证码
      这篇文章主要介绍了thinkphp怎么实现前后端分离验证码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇thinkphp怎么实现前后端分离验证码文章都会有所收获,下面我们一起来看看吧。一、验证码的作用在互联网时...
      99+
      2023-07-06
    • Springboot怎么实现前后端分离excel下载
      本篇内容介绍了“Springboot怎么实现前后端分离excel下载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Springboot前后端...
      99+
      2023-06-25
    • 基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
      淘宝网线上应用的传统软件栈结构为 Nginx + Velocity + Java,即: 在这个体系中,Nginx 将请求转发给 Java 应用,后者处理完事务,再将数据用 Velocity 模板渲染成最终...
      99+
      2022-06-04
      后端 软件 Nginx
    • flask+Python+Vue实现前后端分离的web项目并部署至云服务器
      flask+Python+Vue实现前后端分离的web项目并部署至云服务器 1 后台+算法模型1.1 训练机器学习模型1.2 基于Flask框架搭建后台接口 2 前端搭建3 云服务器部...
      99+
      2023-10-18
      python flask 前端 vue 机器学习
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作