在Linux系統(tǒng)上安裝Spring boot應(yīng)用的教程詳解
Unix/Linux 服務(wù)
systemd 服務(wù)
操作過程
1. 安裝了JDK的centOS7虛擬機(jī)
注意下載linux版本JDK的時(shí)候不能直接通過wget這種直接鏈接下載,否則會(huì)解壓不成功,應(yīng)該打開原官網(wǎng),點(diǎn)擊同意許可后點(diǎn)擊下載(這種方式下載很慢),比較好的方式是復(fù)制下載頁的地址到迅雷,通過迅雷打開該下載頁,同意許可后點(diǎn)擊下載。
下載后解壓、配置環(huán)境變量
tar -zxvf jdk1.8.0_211.jar.gz
環(huán)境變量配置:/etc/profile 文件最后添加如下
export JAVA_HOME=/var/java/jdk1.8.0_211 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
添加環(huán)境變量之后,執(zhí)行source /etc/profile,讓環(huán)境變量生效
2. 準(zhǔn)備好要安裝的spring boot應(yīng)用程序
2.1 要想安裝成功,尤其要注意pom文件的有關(guān)插件的配置。正確示例如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.itsherman.dcm.Application</mainClass>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如果只單單聲明了spring-boot-maven-plugin插件,忽略了后面的配置項(xiàng),那么很可能你構(gòu)建的程序包(jar)移植過去啟動(dòng)不成功。報(bào)找不到主菜單屬性錯(cuò)誤。
上面的問題主要是因?yàn)闃?gòu)建的可執(zhí)行jar包中有一個(gè)META_INF文件夾,該文件夾下的MANIFEST.MF文件描述了改程序包的主要信息,其中缺少了Main-Class的一行。解決辦法是我們可以手動(dòng)加上,或者按照上面的配置,尤其不能缺少execution的配置項(xiàng),然后重新執(zhí)行mvn install。重新生成jar包以后通過winrar工具打開,檢查MANIFEST.MF文件的信息。
一般完整的文件信息如下:
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: Sherman Start-Class: com.itsherman.dcm.Application Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Spring-Boot-Version: 2.1.5.RELEASE Created-By: Apache Maven 3.6.0 Build-Jdk: 1.8.0_172 Main-Class: org.springframework.boot.loader.JarLauncher
沒問題之后,可以嘗試在本地使用java -jar myapp.jar 命令執(zhí)行一下
3. 通過xftp等文件移植工具將jar包移植到【1】 步驟的虛擬機(jī)上
4. 在虛擬機(jī)上 /etc/systemd/system 下編寫服務(wù)的配置文件,參考實(shí)例如下:
[Unit] Description=myapp After=syslog.target [Service] User=hadoop ExecStart=/var/java/jdk1.8.0_211/bin/java -jar /home/hadoop/myapp/dev-manager.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target
•Description: 程序的描述信息
•User: 系統(tǒng)用戶
•ExecStart: 程序啟動(dòng)的命令
編寫好改配置文件之后,保存,退出
. 啟動(dòng)服務(wù)
刷新服務(wù)配置信息
systemctl daemon-reload
啟動(dòng)服務(wù)
systemctl start myapp.service
開機(jī)啟動(dòng)服務(wù)
systemctl enable myapp.service
查看服務(wù)狀態(tài)信息
systemctl status myapp.service
6.測(cè)試
即打開瀏覽器,訪問服務(wù)
總結(jié)
以上所述是小編給大家介紹的在Linux系統(tǒng)上安裝Spring boot應(yīng)用的教程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
CentOS 6.4系統(tǒng)下編譯安裝LNMP和配置PHP環(huán)境具體步驟
下面介紹的是CentOS 6.4系統(tǒng)下編譯安裝LNMP和配置PHP環(huán)境具體步驟,感興趣的朋友可以參考下,希望對(duì)你配置php環(huán)境有所幫助2013-05-05
基于Linux搭建Apache網(wǎng)站服務(wù)配置詳解
這篇文章主要介紹了基于Linux搭建Apache網(wǎng)站服務(wù)配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
apache后綴名支持 讓apache支持apk ipk下載的方法
一般都在mime.types文件中添加相應(yīng)的后綴,重啟apache后即可2012-04-04
通過rsync+inotify實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)備份配置
在前面的博文中,我講到過利用rsync實(shí)現(xiàn)數(shù)據(jù)的鏡像和備份,但是要實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)備份,單獨(dú)靠rsync還不能實(shí)現(xiàn),本文就講述下如何實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)備份2013-09-09
CentOS 7.2下安裝部署郵件服務(wù)器(Postfix)的步驟詳解
Postfix 是一種電子郵件服務(wù)器,下面這篇文章主要給大家介紹了在CentOS 7.2下安裝部署郵件服務(wù)器(Postfix)的步驟全過程,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
使用 libevent 和 libev 提高網(wǎng)絡(luò)應(yīng)用性能的方法
構(gòu)建現(xiàn)代的服務(wù)器應(yīng)用程序需要以某種方法同時(shí)接收數(shù)百、數(shù)千甚至數(shù)萬個(gè)事件,無論它們是內(nèi)部請(qǐng)求還是網(wǎng)絡(luò)連接,都要有效地處理它們的操作2011-05-05

