Spring Boot项目微信云托管入门部署
微信云托管本身是一个服务器,里面的软件都已经配置好了,直接使用即可,适用于一些简单部署的项目。直接把项目直接上传到服务器即可。无需各种繁琐的软件配置和打包,微信云托管统统给你搞定。而且系统会根据使用量计费,对于一些使用量比较少的系统,也是很划算的。本文从一个 Spring Boot 项目简单部署云托管项目。
云托管简介
在 官网 显示微信云托管的几个优势:
- 开箱即用
- 支持多种后端语言
- 自动扩容
云托管相对传统项目的优势
发布一个简单的 demo 在linux服务器
- 创建 springboot 项目
- 将 springboot 项目打成war 包
- 在 linux 服务器安装 jdk、tomcat,阿里云或者腾讯云开放对应的端口
- 安装 mysql
- 执行sql 语句
- 上传 war 包到 tomcat 服务器
对应的云托管
- 创建 springboot 项目
- 在云托管数据库执行 sql 语句
- 上传springboot文件
云托管直接上传项目文件即可。
入门
进入控制台后,找到 服务列表 -> 新建服务
写好服务名称后,选择不同方式上传代码,这里有 github
、gitlab
、gitee
、手动上传代码包
等等。我这里选择了使用手动上传代码包。
此处上传的代码和Spring Boot项目区别在于这里上传的代码需要添加额外的两个文件, Dockerfile
和 settings.xml
,文件在 https://github.com/WeixinCloud/wxcloudrun-springboot 可以找到:
Dockerfile
Dockerfile 配置 docker
环境,里面主要命令是项目打包、运行。
这里的打包是打成一个 jar
包,如果项目是原来打成一个 war 包,要改成打成 jar 包。
需要将 pom.xml
<packaging>jar</packaging>
改成
<packaging>war</packaging>
Dockerfile 还有打包和运行的命令,修改下面用红框框起来的数据,改成打包的名称:
settings.xml
settings.xml是 maven 打包的依赖项配置。默认使用腾讯云maven依赖,不需要改动配置。
为了减少项目线上部署调试时间,先在本地执行打包命令,确保打包成功:
mvn clean package
如果打包成功,直接上传文件,这里为了减少上传时间,可以先对文件进行压缩。
上面的端口要和springboot里面配置的端口要一致,最好在
application.yml
配置文件设置默认端口80,省去每次发布项目都要修改端口的麻烦。
上传成功之后,点击发布。发布成功之后访问公网地址。如下图所示:
走完一遍流程,发现云托管有几个不足的地方:
- 发布时间大概要花7,8分钟,主要是花在下载 maven 依赖的时间比较多。
- 如果
maven
依赖在本地配置,就不能在云托管使用依赖。
以上两个问题,如果使用上传打包好的 jar
包,就能解决这个问题,期待后续能支持上传 jar
包的选项。
总结
- 如果部署一些不太复杂的项目,微信云托管是一个不错的选择,可以根据配置使用,自动扩容。
- Spring Boot 添加两个文件
Dockerfile
和settings.xml
。- Dockerfile 需要修改打包名称和运行名称
- settings.xml 不用修改
- Spring Boot 需要改成
jar
包的打包方式。 - 项目端口最好配置成默认端口
80
。
如果觉得文章对你有帮助的话,请点个推荐吧!
Spring Boot项目微信云托管入门部署的更多相关文章
- spring boot项目如何测试,如何部署
有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...
- 从零部署Spring boot项目到云服务器(正式部署)
上一篇文章总结了在Linux云服务器上部署Spring Boot项目的准备过程,包括环境的安装配置,项目的打包上传等. 链接在这里:http://www.cnblogs.com/Lovebugs/p/ ...
- Spring Boot 项目转容器化 K8S 部署实用经验分享
转载自:https://cloud.tencent.com/developer/article/1477003 我们知道 Kubernetes 是 Google 开源的容器集群管理系统,它构建在目前流 ...
- 从零部署Spring boot项目到云服务器(准备工作)
自己的博客终于成功部署上线了,回过头来总结记录一下整个项目的部署过程! 测试地址:47.94.154.205:8084 注:文末有福利! 一.Linux下应用Shell通过SSH连接云服务器 //ss ...
- 【IntelliJ IDEA】spring boot项目在idea实现自动部署
转载参考自:https://www.cnblogs.com/winner-0715/p/6666579.html spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能 ...
- Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)
最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...
- spring boot系列01--快速构建spring boot项目
最近的项目用spring boot 框架 借此学习了一下 这里做一下总结记录 非常便利的一个框架 它的优缺点我就不在这背书了 想了解的可以自行度娘谷歌 说一下要写什么吧 其实还真不是很清楚,只是想记录 ...
- Linux云服务部署Spring boot项目
Linux云服务部署Spring boot项目 背景: 之前经过两个周的时间,做了一个简单的博客网站,网址:点击进入,在本地可以正常使用以后,想着部署到服务器上,给大家伙看个乐呵,于是有了这篇部署文章 ...
- Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目
在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...
随机推荐
- 女朋友让我深夜十二点催她睡觉,我有Python我就不干
事情是这样的:今天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...
- Nginx配置转发
nginx location proxy_pass 后面的url 加与不加/的区别 在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把locat ...
- 将string字符串中的换行符进行替换
/** * 方法名称:replaceBlank * 方法描述: 将string字符串中的换行符进行替换为"" * */ public static String replaceBl ...
- 样式操作案例5-改变box的大小和位置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 深入解析HashMap、HashTable (转)
集合类之番外篇:深入解析HashMap.HashTable Java集合类是个非常重要的知识点,HashMap.HashTable.ConcurrentHashMap等算是集合类中的重点,可谓&quo ...
- python unittest控制用例的执行顺序
为什么要进行顺序控制呢?使用过testng的同学就知道,它相对于junit来说有更强大的功能,其中的一个功能就是依赖测试.什么是依赖测试呢?简单的说一下就是,A方法运行时,其中有个变量的取值是B方法的 ...
- 【linux运维】Linux服务器玩转vsftpd安装与配置
Linux服务器搭建ftp详细教程. 前言 本文,主要以vsftp软件为主进行讲解,版本为3.0.2.以介绍设置虚拟用户.权限验证为主,linux权限知识默认大家都有所了解.vsftpd设置有两种模式 ...
- Python基础—基础数据类型int、bool、str(Day3)
一.int 数字 用于计算,+ - * / % **等 bit_lenth():转化成二进制的最小位数. i=4 print(i.bit_length())执行结果:3 1 0000 0001 2 ...
- Spring MVC拦截器(Interceptor)使用
第一篇Spring MVC的小作文就是关于Interceptor的,而不是很多基础的东西呢,很无奈.因为实践的项目中用到了,用地不太好,导致重复跳转页面浏览器cookie溢出了. 这个过程中呢就将与I ...
- web开发 小方法2-字体设置
font-size 字体大小 直接给 (任意px) 就可以 font-family:"微软雅黑"; 这个里面可以给多个用空格区分 按照先后优先级使用 当没有第一个字体的时候会 ...