打包微服务前后端分离项目并部署到服务器 --- 分布式 Spring Cloud + 页面渲染 Nuxt.js

使用 Nuxt 构建简单后端接口及数据库数据请求 首先在 Nuxt 中实现后端接口数据请求,然后创建好接口文件,进行接口配置,最后在页面中使用 asyncData 函数进行接口请求即可。以上就是如何使用 Nuxt 框架实现一个简单的后端接口。 阅读详情

前言

Spring Cloud项目属于微服务项目,也就是含有多个Sping Boot模块集合而成的项目

Nuxt.js项目属于前端基于Vue的服务端渲染项目

最近在服务器部署上线了一个基于Spring Cloud + 服务端渲染技术Nuxt.js的项目,在这里记录一下

一、部署后端

1、打包

步骤:

  • 在pom.xml中加入打包依赖
  • 在IDEA中点击clean、选择install打包成jar包
  • 在target文件夹中可以看到打包的jar包

注意:如果target文件夹中出现多个jar包,.jar.original 是普通jar包,不包含依赖,.jar 是可执行jar包,包含了pom.xml中的所有依赖,可以直接用java -jar 命令执行。

打包Spring Cloud项目中的每个模块加入打包依赖

比如在gateway模块

在pom.xml加入以下代码

<build>
        <finalName>service-gateway</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
</build>

然后再IDEA中maven插件中点击

相互依赖的模块怎么打包?

比如A模块依赖B模块,就需要在A模块引用B模块的依赖中加入compile,否则打包的时候会显示报错

A模块中的pom.xml文件

<dependency>
            <groupId>com.zfz</groupId>
            <artifactId>common-util</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>compile</scope>
</dependency>

再点击IDEA中的clean和install打包jar包

2、上传jar包到服务器

保证需要的jar包和Dockerfile、docker-compose.yml文件在同一目录

3、构建镜像

创建Dockerfile文件,举例gateway模块

FROM java:8
MAINTAINER 
ADD service-gateway.jar app.jar
EXPOSE 80
ENTRYPOINT ["java","-jar","app.jar"]    

在XShell命令行工具中输入以下命令,构建镜像

docker build -t service-gateway .

以此类推,把所有想要构建的镜像都用以上命令构建出来

最后输入docker images查看构建镜像

4、运行容器

创建docker-compose.yml文件

version: '3.1'
services: 
  service-gateway:
    image: service-gateway
    ports:
      - "80:80" 
    restart: "always"
    container_name: service-gateway
    volumes:  
      - /root/service-gateway.jar:/root/cloud/service-gateway.jar
    entrypoint: java -jar /root/cloud/service-gateway.jar
  服务名:
    image: 已存在的镜像名称
    ports:
      - 映射端口 
    restart: "always"
    container_name: 容器名称
    volumes:  
      - 挂载路径
    entrypoint: 构建容器后,运行命令
   ......

在XShell命令行工具中输入以下命令,一键部署jar包

docker-compose up -d

如果不识别这个命令,可能原因就是没有安装docker-compose

安装教程:

# 安装
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋予管理员权限
chmod +x /usr/local/bin/docker-compose

# 重启docker
service docker restart

# 查看版本信息
docker-compose --version

image-20210523031115173

最后输入docker ps查看运行中的jar包

二、部署前端

1、上传前端文件到服务器

2、构建镜像

创建Dockerfile文件

# 指定node环境
FROM node:14.16.0
# 作者
MAINTAINER
# node环境为生产环境
ENV NODE_ENV=production
# 允许所有ip访问
ENV HOST 0.0.0.0
RUN mkdir -p /app
COPY . /app
WORKDIR /app
# 暴露端口
EXPOSE 3000
# 使用淘宝镜像
RUN npm config set registry https://registry.npm.taobao.org
# 下载依赖
RUN npm install
RUN npm run build
CMD ["npm", "start"]

在XShell命令行中进入到/root/app目录中,输入以下命令,构建镜像,等待如图结果,表示成功

docker build -t nuxt .

最后再输入命令docker images查看构建镜像

3、运行容器

创建容器,并且运行

docker run -d --restart=always --name nuxt -p 3000:3000 nuxt

最后再输入命令docker ps查看正在运行的容器

弄完之后,记得在阿里云安全组中,开启3000端口,运行访问

公网访问nuxt项目,http://域名:3000/

SpringBoot + NUXT +MySQL 实现登录 SpringBoot是流行的后端开发框架,NUXT时基于Vue的一个通用框架,MySQL是流行的关系型数据库。个人开发博客或者小型网站可以采用这种技术,这篇文章从头到尾实现一个简单的登录界面,目的是记录近些阶段的一些所学,只要打通了前后端,开发就变得简单起来。 1. 界面原型设计 1.1 NUXT介绍 官网:https://www.nuxtjs.cn/ NUXT是基于Vue的一个框架,可以实现服务器端渲染(SSR)。浏览器得到的文件一般是HTML文件和JS文件,但是经过服务器端渲染,得到的就是一个运行过JS 阅读详情

相关推荐

nuxt静态托管(后端用的nest)

最开始没看懂,还以为是没有错误页面,于是在根目录创建了一个error页面,后面发现是找不到/这个目录对应页面,因为我们的页面结构是这样的。我们的托管服务器默认提供的呃https连接,访问服务端接口用的http,所以这里要点击地址栏改成http地址重新请求。之前写了一篇文章,nestjs写的后端,nuxt写的前端,都是通过pm2启动启动服务的方式完成部署工作的。好了,nuxt静态托管部署完成,服务还是用的之前的,只是改了下跨域问题重新打包部署了一下。没问题,接口通了基本就没问题了,再让我们登录完操作下。

weixin_55458088的博客 507

前后端分离式项目实战手动部署(CodeSheep)

项目网址:http://www.ruoyi.vip/通过git pull 下载若依。

qq_57216731的博客 1619

Java + Selenium + TestNg + Allure Web UI 自动化

我们知道,在Python中针对Web UI自动化有Python + Selenium + Pytest/Unittest +Allure的技术栈。那么对于Java而言,也有其独特的Web UI 自动化技术栈。相同的,我们同样的运用Selenium框架,测试报告同样运用Allure。不同的是,我们运用的语言由Python转化为了Java,测试用例管理框架从Pytest转化为了TestNG。

qq_45594960的博客 1911

Nuxt后端接口实战:从0到1连接MongoDB数据库

通过Nuxt3服务端实现MongoDB数据库连接与增删改查接口开发,详解环境配置、连接池优化、TypeScript模型定义及错误处理,附可复现代码与常见问题排查指南。

qq_30110433的博客 1256

Windows下Fortran调用CGNS库的完整踩坑实录:从HDF5、CMake到VS2019+IVF2020的保姆级配置

本文详细记录了在Windows环境下使用Fortran调用CGNS库的完整配置过程,涵盖HDF5安装、CMake配置、VS2019与IVF2020集成等关键步骤。通过实战经验分享,帮助开发者解决常见编译错误和链接问题,实现高效的Fortran与CGNS库集成。

weixin_28707739的博客 349

别再手动巡检了!vRealize Operations Manager 8.x 自动化报告配置全攻略(附模板下载)

本文详细介绍了如何利用vRealize Operations Manager 8.x实现自动化巡检报告配置,大幅提升虚拟化运维效率。通过模板定制、智能调度和自动分发等功能,帮助运维团队告别手动生成报告的繁琐工作,实现90%以上的时间节省。文章还提供了实用的配置技巧和最佳实践,助力企业构建高效的自动化报告系统。

weixin_33806859的博客 297

项目前端部署(静态资源部署)

前端部署

一个正在打瞌睡的博客 1193

SAP中错记虚拟利润中心的调整,冲销处理实例

我非CO专业顾问。工作中遇到的问题,也会找资料,分析,测试。有时这个过程会拿到结果,解决问题。遂将过程记录下来备查。读者请谨慎参考!EC-PCA: 利润中心记账流程_9ke0-优快云博客。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 1795

C/S与B/S架构深度解析:从原理到现代技术选型实践

在软件系统设计与开发中,架构选择是决定项目成败的关键决策之一。从基本原理来看,软件架构定义了系统各组件的组织方式与通信模式。C/S(客户端/服务器)架构与B/S(浏览器/服务器)架构是两种经典且核心的范式,它们分别代表了功能分布与集中化处理的不同设计哲学。C/S架构通过功能强大的专用客户端实现极致用户体验与离线能力,而B/S架构则依托浏览器标准化实现了跨平台与免部署的革命性优势。随着技术演进,现代工程实践已不再局限于非此即彼的选择。例如,微服务架构与分布式系统架构的兴起,为B/S后端提供了应对高并发与复杂业

weixin_30326515的博客 484

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 241

6、基因组数据可视化与甲基化分析:从基础操作到深入洞察

本文详细介绍了基因组数据可视化和全基因组DNA甲基化分析的方法和技术,包括基因组查看器(IGV)的基本操作、单核苷酸变异的可视化、DNA甲基化与CpG岛的关联分析、统计建模与显著甲基化区域识别,以及不同细胞系之间的甲基化模式差异分析。通过具体案例展示了如何利用MATLAB进行数据分析和可视化,为基因组研究、疾病机制探索及个性化医疗提供了技术支撑和实践参考。

qsc901234的博客 295

前端与后端开发全解析:从核心职责到技术栈与职业发展

在软件开发领域,前端与后端是构建现代应用的两大核心支柱。前端开发聚焦于用户界面与交互体验的实现,负责将设计转化为用户可直接感知和操作的网页或应用,其技术核心围绕HTML、CSS和JavaScript展开,并衍生出React、Vue等主流框架,以构建动态、响应式的单页面应用。后端开发则专注于业务逻辑、数据处理与系统服务,通过构建API接口、设计数据库和处理高并发请求,为前端提供稳定、安全的数据支持,其技术栈涵盖Java、Go、Python等多种语言及Spring Boot、Django等框架。理解前后端分离架

weixin_33919950的博客 474

ESP32-IDF开发之旅 基础篇⑪ ESP-IDF 任务看门狗以及多核任务

本文介绍了ESP-IDF中的任务看门狗(TWDT)和多核任务管理。TWDT用于监控任务是否被挂起,可同时监视双核任务,通过定时喂狗机制检测任务阻塞。文中详细讲解了TWDT的配置方法、订阅流程及示例代码,并演示了如何触发和处理看门狗超时。针对ESP32双核特性,重点介绍了xTaskCreatePinnedToCore函数的使用,说明如何将任务绑定到指定核心(CPU0/CPU1)运行,并提供了多核任务创建的代码示例。这些机制对提高系统稳定性和优化多核性能至关重要。

单片机菜鸟哥的博客 265

nuxt.js发布部署

nuxt.js提供三种部署方式,服务端渲染部署,静态应用部署,单页面应用部署。 部署前远程服务器需要安装node,pm2,nginx 服务端渲染部署 nuxt.config.js 配置 target: 'server', // 服务端渲染需要将target设置为server 默认是server 首先执行build打包 npm run build 将".nuxt(隐藏项目),static,nuxt.config.js, package.json"这四个文件放在服务器中 np

sxm666666的博客 4933

YOLOv12改进策略【卷积层】| CVPR-2020 利用DynamicConv 动态卷积 结合A2C2f进行二次创新,提高精度

在大规模视觉预训练中,通常模型的性能受到数据、参数和FLOP三个关键因素的影响。一般来说,模型的参数数量越多,FLOP也越高,但在移动设备等对计算资源有限制的场景下,需要低FLOP的模型同时又希望模型能从大规模预训练中受益。传统的方法很难在增加参数的同时保持低FLOP,因此需要一种新的设计来解决这个问题,模块应运而生。

Limiiiing的博客 827

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Nuxt3 全栈 结合MonogDB数据库完成后端数据接口 时光小灶

Nuxt3 全栈 结合MonogDB数据库完成后端数据接口 时光小灶

时光小灶的博客 2007

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

微服务项目:尚融宝(26)(后端搭建:Nuxt.js入门)

上手Nuxt.js入门

一个菜鸡的博客 710

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

手把手教你基于springboot+vue+nuxt搭建前后台分离&服务端渲染的个人博客系统

手把手教你基于springboot+vue搭建前后台分离的个人博客系统

noodzhan 1927

(一)、手把手教你配置.NET Core 微服务,前后端分离项目——跨域和网关(Ocelot)

1.首先新建三个.NET Core下的API项目 ApiGetWay:将作为网关使用,可以将不需要用到的Controller文件夹和实体类删掉 APIServiceOne:服务一,将做api使用 APIServiceTwo:服务二,做api使用

hyx1229的博客 1693

js后端开发之Next.js、Nuxt.js 与 Express.js

Express.js 是 Node.js 生态中最经典、最流行的 Web 框架之一。它以轻量、灵活和简单著称,几乎成为了 Node.js 后端开发的代名词。Express 的核心理念是提供一个极简的工具集,开发者可以根据需求自由组合中间件和插件。Next.js 是一个基于 React 的全栈框架,专注于提供服务器端渲染(SSR)、静态站点生成(SSG)和客户端渲染(CSR)的能力。它最初是为前端开发设计的,但通过其 API 路由功能,Next.js 也可以用于构建后端服务。

weixin_52236586的博客 3104

在 Nuxt 中使用 Hono 全面接管后端 API:更灵活、更强大的后端架构

通过结合 Nuxt 的 Catch-all 路由和 Hono 框架,我们构建了一个既灵活又强大的后端 API 架构。这种模式不仅改善了开发体验,提升了代码的可维护性,还为未来的扩展和迁移提供了极大的便利。如果你正在寻找一种方法来增强你的 Nuxt 项目的后端能力,那么 Hono 绝对值得一试。

faster2017的博客 956

java springcloud讲解

近期对springcloud进行了一个小案例的学习。效果图如下: 项目结构是前后端分离,前端使用的是layui框架,后端使用的是Spring Cloud它将现在非常流行的一些技术整合到一起,实现了诸如:配置管理,服务发现,智能路 由,负载均衡,熔断器,控制总线,集群状态等等功能。其主要涉及的组件包括 Netflflix Eureka:注册中心 Zuul:服务网关 Ribbon:负载均衡 Feign:服务调用 Hystrix:熔断器 其中项目搭建的时候需要注意导包...

音符跳跃每天···的博客 764

一个开源vue网站博客,nuxt开源网站,前后端分离项目

unNue.com 开媛笔记,基于nuxt ssr首屏服务器端渲染 。用于分享、记录、交流和学习,希望可以帮助到小伙伴们。同时网站在不断更新,创造属于猿(媛)的世界 -$Bao Yalong … Let’s Go! https://unnue.com 简述 前端 Github地址 语言:Javascript 主框架:Nuxt 状态管理:Vuex 路由:vue-router 网络请求:...

也许是前端的博客 2703

微服务打包和Dockerfile部署

在打包部署之前我们先来简单的分析一下项目结构,这里我拿出最近部署的一个项目作为例子,该项目使用的阿里的 Nacos 服务,没有使用 Eureka 服务注册中心,所以少了一个模块。这个项目文件里包含了前端和后端的代码,还有一些文本文件;businessfilegatewaygeneratorserversystem这些模块中只有部分需要打包,最简单的判别方法就是,有主启动类的模块需要打包,其余的不需要打包。如上图所示,businessfilegatewaysystem。

xuetong1995的博客 1834

Nuxt.js 服务器目录结构详解:构建高效后端服务

Nuxt.js 服务器目录结构详解:构建高效后端服务 【免费下载链接】nuxt The Intuitive Vue Framework. 项目地址: https://gitcode.com/GitHub_Trending/nu/n...

gitblog_00862的博客 588

《前端攻城狮 · 从 Nuxt 前端框架开篇》

近些年,前端技术栈悄然发生翻天覆地的变化,各类前端技术的变革换代频率已不低于后端。依稀记得10多年前,宣传标语还是玩转jQuery者得天下,到后面的三足鼎立,再到后来NodeJS横空出世,带出了大前端的概念,紧接着等前端框架相继抢占一席之地,当然,前端技术栈远不止如此,还有等等。前端程序猿再也不能称之为“切图仔”,而应给予不弱于后端程序猿的地位。嗯,扯远了,关于前端的发展历史,源远流长,可以聊个半天,后续再另外开篇博客唠嗑,回到正题。笔者所在公司一直坚持前后端分离模式,先采用Express。

山人行 1476
上一篇: 分析Springcloud Stream 消费者端的工作流程
下一篇: Zuul源码分析之 网关处理流程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值