本篇文章为大家展示了如何让你的Spring Boot项目跑在Linux服务器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
这里建议是CentOS 7.X或CentOS 8.X,当然其他的Linux如deepin、Ubuntu也可以,只是软件环境的安装包和安装方式不同,跑项目都是差不多的
下载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)
参考这篇文章:https://www.yisu.com/article/229781.htm
为什么说安装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>
项目的编译和打包一般有两种方式
(1)直接在IDEA中进行项目的打包
(2)使用命令行方式
在含有pom.xml文件的目录下使用cmd
执行mvn clean package
命令
这样就代表成功啦,然后就会发现多了一个target目录和一个jar 文件
以上两个过程在Linux下也是一样的!(前提是Linux也安装了Maven)
(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
使用nohup运行时会产生一个日志文件nohup.out
,包含项目运行时的全部控制台日志输入,所以报错信息就可以根据它来查看。
(1)jar文件无法运行
Linux的文件权限分为可读、可写、可执行,分别用r、w、x表示
所以无法运行可能是权限的问题,使用ll或ls -a
命令查看jar文件的权限
改变权限:
chmod 777 xx.jar 或 chmod ugo+x xx.jar
当然这是一种不太安全的行为,因为把所有用户都赋予了对该文件的全部权限,相对安全的做法请自字百度下chmod 的用法。
(2)查看后台进程
ps -ef|grep java
如果后台有进程,大家就可以利用客户端测试啦!
上述内容就是如何让你的Spring Boot项目跑在Linux服务器,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。