关键词:
一、打包
springboot
的打包方式有很多种。有打成war
的,有打成jar
的,也有直接提交到github
,通过jekins
进行打包部署的。这里主要介绍如何打成jar
进行部署。不推荐用war
,因为springboot
适合前后端分离,打成jar
进行部署更合适。
需要在pom.xml
中增加主程序入口
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </plugins> </build>
-
在idea工具中可视化工具打包,如图
-
通过命令行来打包
mvn clean package -Dmaven.test.skip=true
二、部署
按照这上面部署被坑惨了。。
下面整理下自己部署的sh
脚本
-
XXX.sh,此
sh
放到和jar统一目录即可
#!/bin/sh ### BEGIN INIT INFO # Provides: lanwei # Required-Start: $local_fs $network # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: XXX service # Description: XXX service ### END INIT INFO echo "Starting...." APP_NAME=$(echo $(basename $0) | sed -e 's/^[SK][0-9]*//' -e 's/\.sh$//') APP_HOME=/usr/software/${APP_NAME} #这里需要配置环境,dev test stg prd APP_ENV="dev" #配置jar APP_JAR=${APP_HOME}/XXXX.jar usage() { echo "Usage: sh ${APP_NAME} [start|stop|restart]" exit 1 } ################################################## # Some utility functions ################################################## findDirectory() { local L OP=$1 shift for L in "$@"; do [ "$OP" "$L" ] || continue printf %s "$L" break done } echo "APP_ENV : ${APP_ENV}" echo "APP_HOME : ${APP_HOME}" echo "APP_NAME : ${APP_NAME}" echo "APP_JAR : ${APP_JAR}" ##################################################### # Find a location for the pid file ##################################################### if [ -z "$APP_RUN" ] then APP_RUN=$(findDirectory -w /var/run /usr/var/run /tmp) fi #APP_RUN=/var/run echo "APP_RUN : ${APP_RUN}" ##################################################### # Find a pid ##################################################### if [ -z "$APP_PID" ] then APP_PID="$APP_RUN/${APP_NAME}.pid" fi echo "APP_PID : ${APP_PID}" LOG=${APP_HOME}/logs/${APP_ENV}.log ERROR_LOG=${APP_HOME}/logs/${APP_ENV}_err.log case $1 in start) echo "Starting ${APP_NAME} ..." if [ ! -f $APP_PID ]; then cd ${APP_HOME} nohup java -jar $APP_JAR --spring.profiles.active=${APP_ENV} > $LOG 2> $ERROR_LOG & echo $! > $APP_PID echo "$APP_NAME started ..." else echo "$APP_NAME is already running ..." fi ;; stop) if [ -f $APP_PID ]; then PID=$(cat $APP_PID); echo "$APP_NAME PID is ${PID}" echo "$APP_NAME stoping ..." kill $PID; echo "$APP_NAME stopped ..." rm $APP_PID else echo "$APP_NAME is not running ..." fi ;; restart) if [ -f $APP_PID ]; then PID=$(cat $APP_PID); echo "$APP_NAME PID is ${PID}" echo "$APP_NAME stopping ..."; kill $PID; echo "$APP_NAME stopped ..."; rm $APP_PID echo "$APP_NAME starting ..." cd ${APP_HOME} nohup java -jar $APP_JAR --spring.profiles.active=${APP_ENV} > $LOG 2> $ERROR_LOG & echo $! > $APP_PID echo "$APP_NAME started ..." else echo "$APP_NAME is not running ..." echo "$APP_NAME starting ..." cd ${APP_HOME} nohup java -jar $APP_JAR --spring.profiles.active=${APP_ENV} > $LOG 2> $ERROR_LOG & echo $! > $APP_PID echo "$APP_NAME started ..." fi ;; esac
-
在
/etc/init.d/
下创建自己的服务名称文件这里比如myapp.sh
#!/bin/sh # # /etc/init.d/sms-web # chkconfig: 345 63 37 # description: activemq servlet container. # processname: activemq 5.14.1 # Source function library. #. /etc/init.d/functions # source networking configuration. #. /etc/sysconfig/network export JAVA_HOME=/usr/local/jdk1.8.0_144 export PATH=$JAVA_HOME/bin:$PATH export MYAPP_WEB_HOME=/usr/software/myapp case $1 in start) sh $MYAPP_WEB_HOME/myapp.sh start ;; stop) sh $MYAPP_WEB_HOME/myapp.sh stop ;; restart) sh $MYAPP_WEB_HOME/myapp.sh restart ;; esac exit 0
-
在
/etc/init.d/
下chmod +x myapp.sh
赋权限 -
chkconfig --list
查看服务列表,如果没有, 添加chkconfig --add myapp
到服务中。 -
设置开机启动
centos7下部署springboot项目
1.将打包好的项目传到Linux下(如利用xftp)2.找到文件目录,执行以下命令: nohupjava-jarxxxx.war>xxxx.log2>&1& 解释: 以上命令后台运行项目,并将输出信息打印到xxxx.log文件3.注意 项目pom.xml文件里需添加插... 查看详情
springboot简单打包部署(附工程)
前言本文主要介绍SpringBoot的一些打包事项和项目部署以及在其中遇到一些问题的解决方案。SpringBoot打包在SpringBoot打包这块,我们就用之前的一个web项目来进行打包。首先需要明确的是,该项目打包的形态是可执行的jar包,还是... 查看详情
linux(centos7)部署springboot打包的jar文件
安装JDK1.8参考检查jdk版本,查看是否已经安装java-version系统环境:centos-7.4安装方式:rpm安装软件:jdk-8u161-linux-x64.rpm下载地址下载jdk*.rpm文件到当前目录下wget-chttp://download.oracle.com/otn-pub/java/jdk/8u161-b12/2 查看详情
centos7/8系统下,使用jenkins实现springboot+vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示(代码片段)
Win10+CentOS7/8操作系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,从GitLab拉取代码,一键编译打包,跨服务器部署(阿里云服务器,物理服务器,虚拟机下亲测)一,安装配置J... 查看详情
centos7/8系统下,使用jenkins实现springboot+vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示(代码片段)
Win10+CentOS7/8操作系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,从GitLab拉取代码,一键编译打包,跨服务器部署(阿里云服务器,物理服务器,虚拟机下亲测)一,安装配置J... 查看详情
centos7/8系统下,使用jenkins实现springboot+vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示(代码片段)
Win10+CentOS7/8操作系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,从GitLab拉取代码,一键编译打包,跨服务器部署(阿里云服务器,物理服务器,虚拟机下亲测)一,安装配置J... 查看详情
打包springboot项目部署到云服务器以及其他一些操作
1.项目打包:https://blog.csdn.net/qq_34409900/article/details/805612772.添加yum源:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaToNY3.通过yum装jdk1.8:https://blog.csdn.net/a360616 查看详情
docker部署springboot项目
Docker相关安装dockeryum-yinstalldocker(centos下)运行docker服务servicedockerstart或者/bin/systemctlstartdocker.serviceIdea新建web项目编写测试controller,打包成jar包,测试可运行访问并输出内容;编写DockerfileFROMjava:8EXPOSE86VOLUME/tmpADDdock 查看详情
docker打包springboot项目war包镜像并部署(代码片段)
docker事先有centos:7镜像,本地文件需要有一个war包和一个jdk压缩包docker可以自己添加本地镜像也可以拉取dockerpullcentos:7或dockerload-icentos_xxx.tar.gz1.创建文件夹/home/app/warimage2.把war包和jdk压缩包放在warimage下3.在warimage目录创建Docke... 查看详情
centos7上部署springboot
...https://www.cnblogs.com/yufeng218/p/8370670.html三、在自己机器上把springboot项目打包成一个可执行jar包 我本地用的maven构建,官方支持 查看详情
打包springboot工程并部署
使用工具:Eclipse Linux下JDK版本:jdk-7u79-linux-x64.tar.gz一、打包成jar并部署 步骤如下: 首先上pom.xml:1<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"2xsi 查看详情
linux(centos7)部署springboot打包的jar文件
安装JDK1.8参考检查jdk版本,查看是否已经安装java-version系统环境:centos-7.4安装方式:rpm安装软件:jdk-8u161-linux-x64.rpm下载地址下载jdk*.rpm文件到当前目录下wget-chttp://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a... 查看详情
linux下部署springboot项目的步骤及过程
最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上。我是在idea上的项目,所以我就基于此说下过程。(一)打包你的项目1、在pom文件中添加springboot的maven插件&nb... 查看详情
centos7/8系统下,使用jenkins实现springboot+vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示(代码片段)
Win10+CentOS7/8操作系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,从GitLab拉取代码,一键编译打包,跨服务器部署(阿里云服务器,物理服务器,虚拟机下亲测)一,安装配置J... 查看详情
intellijidea下springboot项目打包
SpringBoot自带Tomcat插件,可以直接编写启动类,开启Tomcat服务springboot适合前后端分离,打成jar进行部署更合适application.properties配置端口server.port=8089marven的配置文件pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://ma 查看详情
docker部署springboot项目
Docker相关安装dockeryum-yinstalldocker(centos下)运行docker服务servicedockerstart或者/bin/systemctlstartdocker.serviceIdea新建web项目编写测试controller,打包成jar包,测试可运行访问并输出内容;编写DockerfileFROMjava:8EXPOSE86VOLUME/tmpADDdocker_demo-0.0.1-SN... 查看详情
用docker+nginx部署springboot+vue项目,以及部署mysql
参考技术Aspringboot打包容器运行容器nginxdockerrun--namenignx-d-p80:80-v/usr/nginx/html:/usr/share/nginx/html-v/usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf-v/usr/nginx/conf.d:/etc/nginx/conf.dnginx 查看详情
springboot应用部署到外部tomcat
一、前言 SpringBoot内置tomcat使用很方便,打包成可执行jar文件后可以直接运行,然后内置Tomcat配置终究没有外部独立Tomcat方便,并且如果有多个web应用,使用外部独立Tomcat管理起来也更加方便。因此,这边文章... 查看详情