Spring Cloud项目属于微服务项目,也就是含有多个Sping Boot模块集合而成的项目
Nuxt.js项目属于前端基于Vue的服务端渲染项目
最近在服务器部署上线了一个基于Spring Cloud + 服务端渲染技术Nuxt.js的项目,在这里记录一下
步骤:
- 在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模块的依赖中加入<scope>compile</scope>,否则打包的时候会显示报错
A模块中的pom.xml文件
再点击IDEA中的clean和install打包jar包
保证需要的jar包和Dockerfile、docker-compose.yml文件在同一目录
创建Dockerfile文件,举例gateway模块
在XShell命令行工具中输入以下命令,构建镜像
以此类推,把所有想要构建的镜像都用以上命令构建出来
最后输入docker images查看构建镜像
创建docker-compose.yml文件
在XShell命令行工具中输入以下命令,一键部署jar包
如果不识别这个命令,可能原因就是没有安装docker-compose
安装教程:
最后输入docker ps查看运行中的jar包
创建Dockerfile文件
在XShell命令行中进入到/root/app目录中,输入以下命令,构建镜像,等待如图结果,表示成功
最后再输入命令docker images查看构建镜像
创建容器,并且运行
最后再输入命令docker ps查看正在运行的容器
弄完之后,记得在阿里云安全组中,开启3000端口,运行访问
公网访问nuxt项目,http://域名:3000/
原文链接:https://cloud.tencent.com/developer/article/1828043