spring boot如何打包?如何在centos下部署?
本篇文章给大家带来的内容是关于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
Atas ialah kandungan terperinci spring boot如何打包?如何在centos下部署?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Dengan peningkatan mata wang digital seperti Bitcoin, teknologi blockchain secara beransur-ansur menjadi topik hangat. Kontrak pintar boleh dianggap sebagai bahagian penting dalam teknologi blockchain. SpringBoot, sebagai rangka kerja pembangunan back-end Java yang popular, juga boleh digunakan untuk membina aplikasi blockchain dan kontrak pintar. Artikel ini akan memperkenalkan cara menggunakan SpringBoot untuk membina aplikasi dan kontrak pintar berdasarkan teknologi blockchain. 1. SpringBoot dan blockchain Pertama, kita perlu memahami beberapa konsep asas yang berkaitan dengan blockchain. Rantaian sekat

Dengan perkembangan globalisasi, semakin banyak laman web dan aplikasi perlu menyediakan sokongan berbilang bahasa dan fungsi pengantarabangsaan. Bagi pembangun, melaksanakan fungsi ini bukanlah tugas yang mudah kerana ia memerlukan pertimbangan dari banyak aspek, seperti terjemahan bahasa, tarikh, masa dan format mata wang, dsb. Walau bagaimanapun, menggunakan rangka kerja SpringBoot, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah. Mula-mula, marilah kita memahami antara muka LocaleResolver yang disediakan oleh SpringBoot. Loc

Dengan kemunculan era data besar, semakin banyak syarikat mula memahami dan mengiktiraf nilai data besar dan menerapkannya dalam perniagaan. Masalah yang datang dengannya ialah bagaimana mengendalikan aliran data yang besar ini. Dalam kes ini, aplikasi pemprosesan data besar telah menjadi sesuatu yang mesti dipertimbangkan oleh setiap perusahaan. Bagi pembangun, cara menggunakan SpringBoot untuk membina aplikasi pemprosesan data besar yang cekap juga merupakan isu yang sangat penting. SpringBoot ialah rangka kerja Java yang sangat popular yang membolehkan

Dalam proses pembangunan aplikasi web Java, teknologi pemetaan ORM (Object-RelationalMapping) digunakan untuk memetakan data hubungan dalam pangkalan data kepada objek Java, menjadikannya mudah untuk pembangun mengakses dan mengendalikan data. SpringBoot, sebagai salah satu rangka kerja pembangunan web Java yang paling popular pada masa ini, telah menyediakan cara untuk mengintegrasikan MyBatis, dan MyBatisPlus ialah rangka kerja ORM yang dilanjutkan berdasarkan MyBatis.

Dengan perkembangan Internet, analisis data besar dan pemprosesan maklumat masa nyata telah menjadi keperluan penting bagi perusahaan. Untuk memenuhi keperluan tersebut, pangkalan data hubungan tradisional tidak lagi memenuhi keperluan pembangunan perniagaan dan teknologi. Sebaliknya, menggunakan pangkalan data NoSQL telah menjadi pilihan penting. Dalam artikel ini, kita akan membincangkan penggunaan SpringBoot yang disepadukan dengan pangkalan data NoSQL untuk membolehkan pembangunan dan penggunaan aplikasi moden. Apakah pangkalan data NoSQL?

Dengan pembangunan dan pempopularan Internet yang berterusan, permintaan untuk pemprosesan dan penyimpanan data juga semakin meningkat Cara memproses dan menyimpan data dengan cekap dan boleh dipercayai telah menjadi topik hangat di kalangan industri dan penyelidik. Sistem caching dan penyimpanan data yang diedarkan berdasarkan SpringBoot adalah penyelesaian yang telah menarik banyak perhatian dalam beberapa tahun kebelakangan ini. Apakah sistem caching dan penyimpanan data teragih? Sistem caching dan penyimpanan data teragih merujuk kepada penyimpanan data teragih melalui berbilang nod (pelayan), yang meningkatkan keselamatan dan kebolehpercayaan data dan juga boleh meningkatkan pemprosesan data.

Memandangkan perniagaan moden semakin bergantung pada pelbagai aplikasi dan sistem yang berbeza, integrasi perusahaan menjadi lebih penting. Bas Perkhidmatan Perusahaan (ESB) ialah model seni bina integrasi yang menghubungkan sistem dan aplikasi yang berbeza bersama-sama untuk menyediakan pertukaran data biasa dan perkhidmatan penghalaan mesej untuk mencapai penyepaduan aplikasi peringkat perusahaan. Menggunakan SpringBoot dan ApacheServiceMix, kami boleh membina sistem ESB dengan mudah Artikel ini akan memperkenalkan cara melaksanakannya. SpringBoot dan A
