從零開始讓你的Spring Boot項目跑在Linux服務器

1 搭建Linux服務器

1.1 購買阿裡雲服務器或安裝虛擬機

這裡建議是CentOS 7.X或CentOS 8.X,當然其他的Linux如deepin、Ubuntu也可以,隻是軟件環境的安裝包和安裝方式不同,跑項目都是差不多的

1.2 安裝JDK1.8(CentOS 8為例)

下載JDK安裝包:

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

選擇:jdk-8u291-linux-x64.tar.gz

安裝:

[root@xxx local]# tar -zxvf jdk-8u291-linux-x64.tar.gz
[root@xxx local]# vim /etc/profile

修改環境變量:

export JAVA_HOME=/usr/local/jdk1.8.0_291
export JER_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

刷新配置文件並查看安裝結果:

[root@xxx local]# source /etc/profile
[root@xxx local]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b15, mixed mode)

1.3 安裝MySQL

參考這篇文章:https://www.jb51.net/article/229781.htm

1.4 安裝Maven(非必要)

為什麼說安裝Maven不是必要的呢?

因為Java具有跨平臺的特性,可以在Windows環境下打包成Jar文件或者war文件,在Linux上一樣可以直接運行!

Linux安裝Maven的作用

進行項目的編譯和打包,當然也可以直接運行

安裝步驟:

下載Maven安裝包:

https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz

放到Linux上解壓並修改配置文件:

[root@xxx local]# tar -zxvf apache-maven-3.8.1-bin.tar.gz
[root@xxx local]# vim /etc/profile

修改環境變量:

export MAVEN_HOME=/opt/apache-maven-3.8.1
export PATH=$MAVEN_HOME/bin:$PATH

刷新配置文件並驗證:

[root@xxx local]# source /etc/profile
[root@xxx local]# mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /opt/apache-maven-3.8.1
Java version: 1.8.0_141, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_141/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-193.14.2.el8_2.x86_64", arch: "amd64", family: "unix"

別忘瞭!Maven配置阿裡雲鏡像

[root@xxx apache-maven-3.8.1]# pwd
/opt/apache-maven-3.8.1
[root@xxx apache-maven-3.8.1]# vim conf/settings.xml

大約是在第140多行左右:

 <mirrors> 
   <!-- 阿裡雲倉庫 -->
	<mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/public</url>
	</mirror>
	<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
	<!-- 中央倉庫1 -->
	<mirror>
		<id>repo1</id>
		<mirrorOf>central</mirrorOf>
		<name>Human Readable Name for this Mirror.</name>
		<url>http://repo1.maven.org/maven2/</url>
	</mirror>
	<!-- 中央倉庫2 -->
	<mirror>
		<id>repo2</id>
		<mirrorOf>central</mirrorOf>
		<name>Human Readable Name for this Mirror.</name>
		<url>http://repo2.maven.org/maven2/</url>
	</mirror>
  </mirrors>

2 項目部署運行

2.1 項目編譯打包(Windows環境下打包成jar文件)

項目的編譯和打包一般有兩種方式

(1)直接在IDEA中進行項目的打包

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cb4XKe0T-1624778631425)(從0開始,讓你的Spring Boot項目跑在Linux服務器.assets/image-20210627145102813.png)]

(2)使用命令行方式

在含有pom.xml文件的目錄下使用cmd

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6wefiZKC-1624778631427)(從0開始,讓你的Spring Boot項目跑在Linux服務器.assets/image-20210627145423668.png)]

執行mvn clean package命令

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-b7YfR65R-1624778631428)(從0開始,讓你的Spring Boot項目跑在Linux服務器.assets/image-20210627145516062.png)]

這樣就代表成功啦,然後就會發現多瞭一個target目錄和一個jar 文件

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IugWbV2v-1624778631430)(從0開始,讓你的Spring Boot項目跑在Linux服務器.assets/image-20210627145636325.png)]

以上兩個過程在Linux下也是一樣的!(前提是Linux也安裝瞭Maven)

2.2 部署運行

(1)方式一:可以是未編譯成Jar文件情況下

cd到需要運行的項目主目錄下,pom.xml文件的目錄

[root@xxx placard_demo]# ll
-rw-r--r-- 1 root root   10519 May 27 08:17  placard_demo.iml
-rw-r--r-- 1 root root    5989 May 27 08:17  pom.xml
-rw-r--r-- 1 root root    1366 Apr  1 22:36  README.md
drwxr-xr-x 4 root root      30 Apr  1 10:21  src
drwxr-xr-x 5 root root      61 May 27 14:24  target

使用mvn spring-boot:run命令運行

如果長時間運行請使用nohup mvn spring-boot:run

(2)方式二:已經有Jar文件情況下

cd到需要運行的項目主目錄的target目錄下,jar文件的目錄

[root@xxx target]# ll
total 56372
drwxr-xr-x 6 root root       92 May 27 14:23 classes
drwxr-xr-x 2 root root       28 Jun 27 15:06 maven-archiver
drwxr-xr-x 3 root root       35 May 27 14:23 maven-status
-rw-r--r-- 1 root root 42572685 Jun 27 15:07 placard_demo-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root 15147851 Jun 27 15:07 placard_demo-0.0.1-SNAPSHOT.jar.original
drwxr-xr-x 3 root root       17 May 27 14:24 test-classes

使用java -jar xxx.jar命令運行

如果長時間運行請使用nohup java -jar xxx.jar

2.3 註意事項

使用nohup運行時會產生一個日志文件nohup.out,包含項目運行時的全部控制臺日志輸入,所以報錯信息就可以根據它來查看。

2.4 常見問題

(1)jar文件無法運行

Linux的文件權限分為可讀、可寫、可執行,分別用r、w、x表示

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fxOkzhrT-1624778631432)(從0開始,讓你的Spring Boot項目跑在Linux服務器.assets/image-20210627151504891.png)]

所以無法運行可能是權限的問題,使用ll或ls -a命令查看jar文件的權限

改變權限:

chmod 777 xx.jar  或  chmod ugo+x xx.jar

當然這是一種不太安全的行為,因為把所有用戶都賦予瞭對該文件的全部權限,相對安全的做法請自字百度下chmod 的用法。

(2)查看後臺進程

ps -ef|grep java

如果後臺有進程,大傢就可以利用客戶端測試啦!

總結

到此這篇關於Spring Boot項目跑在Linux服務器的文章就介紹到這瞭,更多相關Spring Boot項目在Linux服務器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: