Wie verpacke ich Spring Boot? Wie wird unter Centos bereitgestellt?
本篇文章给大家带来的内容是关于spring boot如何打包?如何在centos下部署?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、打包
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
脚本
1、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
2、在/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到服务中。
设置开机启动chkconfig myapp on
Das obige ist der detaillierte Inhalt vonWie verpacke ich Spring Boot? Wie wird unter Centos bereitgestellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In tatsächlichen Projekten versuchen wir, verteilte Transaktionen zu vermeiden. Manchmal ist es jedoch wirklich notwendig, einige Dienste aufzuteilen, was zu Problemen bei verteilten Transaktionen führt. Gleichzeitig werden in Vorstellungsgesprächen auch verteilte Transaktionen auf dem Markt gefragt. Sie können diesen Fall üben und im Vorstellungsgespräch über 123 sprechen.

Mit dem Aufstieg digitaler Währungen wie Bitcoin ist die Blockchain-Technologie nach und nach zu einem heißen Thema geworden. Smart Contracts können als wichtiger Bestandteil der Blockchain-Technologie angesehen werden. SpringBoot kann als beliebtes Java-Backend-Entwicklungsframework auch zum Erstellen von Blockchain-Anwendungen und Smart Contracts verwendet werden. In diesem Artikel erfahren Sie, wie Sie mit SpringBoot Anwendungen und Smart Contracts auf Basis der Blockchain-Technologie erstellen. 1. SpringBoot und Blockchain Zunächst müssen wir einige grundlegende Konzepte im Zusammenhang mit Blockchain verstehen. Blockchain

Mit der Entwicklung der Globalisierung müssen immer mehr Websites und Anwendungen mehrsprachige Unterstützung und Internationalisierungsfunktionen bieten. Für Entwickler ist die Implementierung dieser Funktionen keine leichte Aufgabe, da sie die Berücksichtigung vieler Aspekte erfordert, wie z. B. Sprachübersetzung, Datums-, Zeit- und Währungsformate usw. Mithilfe des SpringBoot-Frameworks können wir jedoch problemlos mehrsprachige Unterstützung und internationale Anwendungen implementieren. Lassen Sie uns zunächst die von SpringBoot bereitgestellte LocaleResolver-Schnittstelle verstehen. Ort

Mit dem Aufkommen des Big-Data-Zeitalters beginnen immer mehr Unternehmen, den Wert von Big Data zu verstehen, zu erkennen und ihn auf das Geschäft anzuwenden. Das damit verbundene Problem besteht darin, mit diesem großen Datenfluss umzugehen. In diesem Fall sind Big-Data-Verarbeitungsanwendungen zu etwas geworden, das jedes Unternehmen in Betracht ziehen muss. Für Entwickler ist auch die Verwendung von SpringBoot zum Erstellen einer effizienten Big-Data-Verarbeitungsanwendung ein sehr wichtiges Thema. SpringBoot ist ein sehr beliebtes Java-Framework, das dies ermöglicht

Im Entwicklungsprozess von Java-Webanwendungen wird die ORM-Mapping-Technologie (Object-RelationalMapping) verwendet, um relationale Daten in der Datenbank Java-Objekten zuzuordnen, sodass Entwickler bequem auf Daten zugreifen und diese bearbeiten können. Als eines der derzeit beliebtesten Java-Webentwicklungs-Frameworks bietet SpringBoot eine Möglichkeit zur Integration von MyBatis, und MyBatisPlus ist ein auf MyBatis basierendes ORM-Framework.

Mit der Entwicklung des Internets sind Big-Data-Analyse und Echtzeit-Informationsverarbeitung zu einem wichtigen Bedarf für Unternehmen geworden. Um diesen Anforderungen gerecht zu werden, erfüllen herkömmliche relationale Datenbanken nicht mehr die Anforderungen der Geschäfts- und Technologieentwicklung. Stattdessen ist die Verwendung von NoSQL-Datenbanken zu einer wichtigen Option geworden. In diesem Artikel besprechen wir die Verwendung von SpringBoot, das in NoSQL-Datenbanken integriert ist, um die Entwicklung und Bereitstellung moderner Anwendungen zu ermöglichen. Was ist eine NoSQL-Datenbank? NoSQL ist nicht nur SQL

Mit der kontinuierlichen Weiterentwicklung und Popularisierung des Internets steigt auch der Bedarf an Datenverarbeitung und -speicherung. Wie Daten effizient und zuverlässig verarbeitet und gespeichert werden können, ist zu einem heißen Thema in Industrie und Forschung geworden. Das auf SpringBoot basierende verteilte Daten-Caching- und Speichersystem ist eine Lösung, die in den letzten Jahren viel Aufmerksamkeit erregt hat. Was ist ein verteiltes Daten-Caching- und Speichersystem? Verteilte Daten-Caching- und Speichersysteme beziehen sich auf die verteilte Speicherung von Daten über mehrere Knoten (Server), was die Sicherheit und Zuverlässigkeit der Daten verbessert und auch die Datenverarbeitung verbessern kann.

Da moderne Unternehmen immer mehr auf eine Vielzahl unterschiedlicher Anwendungen und Systeme angewiesen sind, wird die Unternehmensintegration noch wichtiger. Enterprise Service Bus (ESB) ist ein Integrationsarchitekturmodell, das verschiedene Systeme und Anwendungen miteinander verbindet, um gemeinsame Datenaustausch- und Nachrichtenroutingdienste bereitzustellen und eine Anwendungsintegration auf Unternehmensebene zu erreichen. Mit SpringBoot und ApacheServiceMix können wir ganz einfach ein ESB-System erstellen. In diesem Artikel wird die Implementierung vorgestellt. SpringBoot und A
