写点什么

从 0 开始,让你的 Spring Boot 项目跑在 Linux 服务器

作者:Barry Yan
  • 2022 年 10 月 07 日
    北京
  • 本文字数:2407 字

    阅读完需:约 8 分钟

从0开始,让你的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_291export JER_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}
复制代码


刷新配置文件并查看安装结果:


[root@xxx local]# source /etc/profile[root@xxx local]# java -versionjava 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://blog.csdn.net/Mr_YanMingXin/article/details/110858348

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.1export PATH=$MAVEN_HOME/bin:$PATH
复制代码


刷新配置文件并验证:


[root@xxx local]# source /etc/profile[root@xxx local]# mvn -vApache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)Maven home: /opt/apache-maven-3.8.1Java version: 1.8.0_141, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_141/jreDefault locale: en_US, platform encoding: UTF-8OS 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 中进行项目的打包



(2)使用命令行方式


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



执行mvn clean package命令



这样就代表成功啦,然后就会发现多了一个 target 目录和一个 jar 文件



以上两个过程在 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.mddrwxr-xr-x 4 root root      30 Apr  1 10:21  srcdrwxr-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]# lltotal 56372drwxr-xr-x 6 root root       92 May 27 14:23 classesdrwxr-xr-x 2 root root       28 Jun 27 15:06 maven-archiverdrwxr-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.originaldrwxr-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 表示



所以无法运行可能是权限的问题,使用ll或ls -a命令查看 jar 文件的权限


改变权限:


chmod 777 xx.jar  或  chmod ugo+x xx.jar
复制代码


当然这是一种不太安全的行为,因为把所有用户都赋予了对该文件的全部权限,相对安全的做法请自字百度下 chmod 的用法。

(2)查看后台进程
ps -ef|grep java
复制代码



如果后台有进程,大家就可以利用客户端测试啦!欢迎留言点赞!

发布于: 刚刚阅读数: 7
用户头像

Barry Yan

关注

做兴趣使然的Hero 2021.01.14 加入

Just do it.

评论

发布
暂无评论
从0开始,让你的Spring Boot项目跑在Linux服务器_10月月更_Barry Yan_InfoQ写作社区