Spring Boot项目打包并部署到云服务器

一、云服务器的环境

OS: CentOS 7

Jdk 1.8

Spring Boot自动集成Tomcat,不需要单独配置

二、本地Spring Boot项目打包

我使用的工具是IntelliJ IDEA。打包之前先确保MAVEN配置正确。在cmd出口中输入:mvn用来检查是否配置正确。

然后在项目的pom.xml文件中加入以下依赖(在之前)。

org.springframework.boot

spring-boot-maven-plugin

repackage

进行打包命令:mvn clean package

如果IDEA自带的终端出现:mvn不是内部或外部命令,也不是可运行的程序 或批处理文件。可以使用cmd(管理员运行)进入项目位置。在执行命令。

打包完成以后会在项目的target文件夹下生成cms-1.0-SNAPSHOT.jar这样的JAR包。

然后将jar包、数据库文件、启动脚本放在一个文件夹内上传到云服务器。我的是放在:``/usr/server/cms`

启动脚本可以下载,蓝奏云地址:▶ 启动脚本

也可以自己新建一个文本文档命名为:catalina.sh,然后复制以下内容。JAR包的名称需要自己修改。

#!/bin/bash

#这里可替换为你自己的执行程序

APP_NAME=cms-1.0-SNAPSHOT.jar

#使用说明,用来提示输入参数

usage() {

echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"

exit 1

}

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `

#如果不存在返回1,存在返回0

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

#启动方法

start(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is already running. pid=${pid} ."

else

BUILD_ID=dontKillMe

nohup java -jar $APP_NAME > ./catalina.log &

fi

}

#停止方法

stop(){

is_exist

if [ $? -eq "0" ]; then

kill -9 $pid

else

echo "${APP_NAME} is not running"

fi

}

#输出运行状态

status(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is running. Pid is ${pid}"

else

echo "${APP_NAME} is NOT running."

fi

}

#重启

restart(){

stop

start

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in

"start")

start

;;

"stop")

stop

;;

"status")

status

;;

"restart")

restart

;;

*)

usage

;;

esac

三、启动Spring Boot服务

首先在云服务器安装Java,建议与本地Java版本一致。可以参考:▶ CentOS 7搭建Java开发平台——Java 8

然后进入jar包的存放位置,添加权限:(我的是在/usr/server/cms下执行)

chmod 777 * .

启动:在jar包的目录下执行

./catalina.sh start

查看启动日志:

tail -f catalina.log

四、测试结果

查看启动日志,没有报错以后可以用Postman或者浏览器测试结果

image

spring项目搭建云服务器,Spring Boot项目打包并部署到云服务器相关推荐

  1. vue简易微前端项目搭建(一):项目背景及简介

    github传送门: 1.h5主项目 2.项目脚手架 3.子项目模板 系列文章传送门: vue简易微前端项目搭建(一):项目背景及简介 vue简易微前端项目搭建(二):子项目模板及项目脚手架搭建 vu ...

  2. asp.mvc 4项目发布文件目录结构_Spring Boot项目搭建与启动

    Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  3. 一步一步深入spring(1)--搭建和测试spring的开发环境

    1.引用jar包 到spring的网站上下载spring的jar包(本文是2.5.6),解压缩后找到 使用spring必须引用的jar包 spring.jar  commons-logging.jar ...

  4. Vue项目怎样打包并部署在WindowsServer服务器通过IP访问

    场景 Vue本地执行build之后打开dist目录下index.html正常访问: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...

  5. 【前端部署】vue项目打包并部署到Linux服务器

    文章目录 一.打包vue前端项目 二.安装nginx 1.下载及安装 2.启动程序 3.其他命令 三.利用WinSCP传输文件 四.配置nginx 1.修改服务器端口 2.修改dist存放路径 3.完 ...

  6. 怎么把springboot部署到阿里云_听说“一分钟就能部署阿里云ECS集群”?

    导读 "企业上云"是当下大势所趋,"提效.降成本" 也是企业上云.迁云和管理云必须关注的问题.今天我们将从一个集群部署的场景出发,介绍阿里云如何借助生态工具Te ...

  7. unicloud云开发---uniapp云开发(一)---服务空间创建以及部署一个云函数

    云开发系列 视频 https://www.bilibili.com/video/BV1eK4y1p7Qe 新系列视频 我们的视频教程(免费)链接为https://static-b5208986-2c0 ...

  8. jenkins实现前端自动化打包并部署到nginx服务器

    前言 本文为本人实际搭建前端自动化部署过程的详细记录,分享给大家的同时也是自己对知识的巩固,本文中可能存在部分前端平常不怎么接触到的知识点,但是不用怕,只要认真看基本不会有问题. 环境依赖 首先需要在 ...

  9. 08服务器许可证安装向导,08_安装部署GRID许可证服务器.pdf

    在GRID 2.0 时期NVIDIA 引入了License 机制,所以我们在测试和生产环境部署的过程中需 要搭建License 服务器,以确认VGPU 虚拟机可以正常获取授权和工作.目前GRID Li ...

最新文章

  1. You are using pip version 8.1.1, however version 20.1.1 is available
  2. 【UWP】拖拽列表项的排序功能实现
  3. C++11 tuple的使用
  4. 《Android/OPhone开发完全讲义》连载(7):使用SharedPreferences存取复杂数据
  5. tensorflow自定义op_TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式
  6. Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
  7. 用matlab解线性规划题目,用MATLAB软件解线性规划范例
  8. 如何重装win10应用商店?
  9. 2014最好的IT简历提示
  10. 戴尔(DELL)成就Vostro15-7580 15.6英寸八代混合独显便携商务笔记本 5699元
  11. 中国电信物联网平台物理模型创建
  12. 科三 二十里铺(带视频)
  13. bzoj 1941 kd-tree求最大最小曼哈顿距离
  14. Axure 9 实战案例,母版的应用 2,运用母版交互绘制Tab页签
  15. POJ 1033--Defragment
  16. we learn考试能切屏吗_螺蛳粉闻臭师年薪50万,你想挑战吗?
  17. iOS15 beta版本安装不成功 || app要求更新
  18. 网件R7000 梅林380固件安装 阿里云WebDav
  19. 《Activiti/Flowable 深入BPM工作流》-流程部署实现方式二
  20. 【视觉算法】SHOT特征描述子

热门文章

  1. php 商品价格区间算法,ecshop商品价格添加区间
  2. 查询排序_Mysql在排序和查询时不使用索引的情况
  3. c语言中10转8和16的转换,(C语言)10进制转换2,8,16进制
  4. golang sdk后端怎么用_Python比Golang慢多少?实际上两者差异并不大
  5. php7.1 aes 加密解密,PHP7.1中AES加密解密方法 mcrypt_module_open()替换方案
  6. JS OOP -01 面向对象的基础
  7. MongoDB复制选举原理及复制集管理
  8. Polemo Chat客户端行为
  9. Java关键字(53个关键字)
  10. Puppet实战笔记