侧边栏壁纸
博主头像
微笑涛声

一个在编程学习中逐渐变强的孩子! 热爱编程,喜欢软件开发!

  • 累计撰写 131 篇文章
  • 累计创建 63 个标签
  • 累计收到 7 条评论
隐藏侧边栏

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

微笑涛声
2020-03-11 / 0 评论 / 0 点赞 / 249 阅读 / 783 字
温馨提示:
本文最后更新于 2022-09-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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

一、云服务器的环境

  • OS: CentOS 7
  • Jdk 1.8
  • Spring Boot自动集成Tomcat,不需要单独配置

二、本地Spring Boot项目打包

  • 我使用的工具是IntelliJ IDEA。打包之前先确保MAVEN配置正确。在cmd出口中输入:mvn 用来检查是否配置正确。
  • 然后在项目的pom.xml文件中加入以下依赖(在</project>之前)。
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


  • 进行打包命令: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服务

chmod 777 * .
  • 启动:在jar包的目录下执行
./catalina.sh start
  • 查看启动日志
tail -f catalina.log

四、测试结果

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

评论