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

目录
  • 1 搭建Linux服务器
    • 1.1 购买阿里云服务器或安装虚拟机
    • 1.2 安装JDK1.8(CentOS 8为例)
    • 1.3 安装MySQL
    • 1.4 安装Maven(非必要)
  • 2 项目部署运行
    • 2.1 项目编译打包(Windows环境下打包成jar文件)
    • 2.2 部署运行
    • 2.3 注意事项
    • 2.4 常见问题
  • 总结

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中进行项目的打包

(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.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表示

所以无法运行可能是权限的问题,使用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服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot配置devtools实现热部署的方法

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个r

  • SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解

    前言 给大家分享以下我是如何部署 SpringBoot + Vue 前后端分离的项目的,我用的 Linux 发行版是 CentOS7.5 有了一个基于 ElementUI 的电商后台管理系统,在开发一个相似的后台就会轻松很多.不过前面的系统的后端是使用 node 完成的,对于我们 Java 开发者来说,用不到.我学习的是 ElementUI 的使用,就足够了,然后后端服务就全部可以自己使用 SpringBoot 来完成 最近貌似 Vue3 正式版也发布了,正好有空看可以去看一看 提示:以下是本篇

  • 使用linux部署Spring Boot程序

    SpingBoot的学习总算告一段落了,但它还留给了我们一个疑问,那就是程序在linux服务器上应该怎么部署?使用命令启动程序后如果ssh断开了程序会不会被shutdown?对于第一个问题比较好解决,只需要保证jdk安装正确就不会有太大问题.棘手的问题是后面这个,解决问题的关键就是要保证程序以守护进程(后台方式)运行.这次就分享下linux下如何正确部署程序 为了解决这个问题,我查阅网上的资料找到了下面3种解决方案 1   把jar包弄成系统服务(不推荐) 这种方法缺点也比较明显,那就是容易出现

  • Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`basename ${BASH_SOURCE}` #修改这里jar包名即可 JAR_NAME="xxxxxxxxxxxx.jar" JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME #JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:Pe

  • Linux下部署springboot项目的方法步骤

    最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上. 1.在pom文件中添加springboot的maven插件 <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> spring-boot-maven-plugin</artifactid> </p

  • springboot部署linux访问服务器资源的方法

    部署springboot项目至服务器用了几种不同方式,现一一记录下来 例: 一.使用外置Tomcat 打成War包,Tomcat下文件新增虚拟路径 conf/server.xml <Context docBase="/data/pic/" path="/pic" debug="0" reloadable="true" /> 可通过  ip:port/pic/cat.jpg 访问 二.打成jar包使用内置Tomcat

  • springboot打包部署到linux服务器的方法

    1.由于springboot集成了tomcat,所以打包的时候不再使用war,而是使用jar <groupId>cn</groupId> <artifactId>back</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> 2.将springboot启动类添加继承SpringBootServletInitialize

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

    目录 1 搭建Linux服务器 1.1 购买阿里云服务器或安装虚拟机 1.2 安装JDK1.8(CentOS 8为例) 1.3 安装MySQL 1.4 安装Maven(非必要) 2 项目部署运行 2.1 项目编译打包(Windows环境下打包成jar文件) 2.2 部署运行 2.3 注意事项 2.4 常见问题 总结 1 搭建Linux服务器 1.1 购买阿里云服务器或安装虚拟机 这里建议是CentOS 7.X或CentOS 8.X,当然其他的Linux如deepin.Ubuntu也可以,只是软件

  • Spring Boot 项目发布到 Tomcat 服务器的操作步骤

    第 1 步:将这个 Spring Boot 项目的打包方式设置为 war. <packaging>war</packaging> SpringBoot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉. 即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写: <dependency> <groupId>org.s

  • Spring boot项目部署到云服务器小白教程详解

    本篇文章主要介绍了Spring boot项目部署到云服务器小白教程详解,分享给大家,具体如下: 测试地址:47.94.154.205:8084 一.Linux下应用Shell通过SSH连接云服务器 //ssh 用户名@公网IP ssh josiah@ip // 输入密码 二.开始搭建SpringBoot的运行环境 1.安装JDK并配置环境变量 1) 打开JDK官网 www.oracle.com 2) 找面最新对应的JDK版本,下载 这里要注意的一个问题是:云服务器下载JDK时一定要在本地去ora

  • 详解eclipse下创建第一个spring boot项目

    spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者.也就是说,Spring Boot是为了简化Spring开发而生,主要思想是降低spring的入门,使得新手可以以最快的速度让程序在spring框架下跑起来. 今天我们就来创建

  • 5分钟快速创建spring boot项目的完整步骤

    前言 上一篇博客说了如何创建spring boot项目,但是有些同学会觉得有点麻烦,有没有什么快速学会能快速创建spring boot项目的方法,答案是肯定的.接下来我们就一起来快速创建一个spring boot项目并让它跑起来. 我们今天用两种方式创建,分别是在线创建和使用IntelliJ IDEA创建. 1 在线创建 1.1 在浏览器中打开https://start.spring.io/,我们看到的是如下图所示: 1.2 Project选择Maven Project,Language选择Ja

  • 详解如何将Spring Boot应用跑在Docker容器中

    日常的Rest服务开发我都会首选SpringBoot,因为它本身的易用性以及自带的各种方便功能.生态等,今天就简单讲一下如何将Spring Boot应用跑在Docker容器中 项目搭建 首先打开Idea,选择初始化一个Spring Boot应用,然后一路回车下去,待Idea下载完依赖,开始编码 这里写一个简单的接口: @RestController @SpringBootApplication public class DemoApplication { @GetMapping("/hello&

  • Spring Boot项目使用Flyway的详细教程

    Purpose 开发人员在合作的时候经常遇到以下场景: 1.开发人员A在自己的本地数据库做了一些表结构的改动,并根据这些改动调整了DAO层的代码,然后将代码上传到svn或git等版本控制服务器上.此时如果开发人员B拉取了A的代码改动,在运行项目的时候很可能会报错,因为B的本地SQL数据库并没有修改. 2.在项目上线的时候,当服务器拉取的版本控制服务器的最新修改后,必须同时运行SQL数据库的修改脚本,如果忘了跑数据库脚本,那么会出现严重的问题. 传统的解决方案就是在一个固定的文件夹中,将需要跑的S

  • 如何把spring boot项目部署到tomcat容器中

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码, <dependency> <groupId>org.springframework.boot</groupId> <artifactId&

  • 把spring boot项目发布tomcat容器(包含发布到tomcat6的方法)

    spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成war包项目,首先需要在pom.xml文件中修改打包类型,将spring boot默认的<packaging>jar</packaging>修改为<packaging>war</packaging>形式: 2. 其次spring boot的web项目中内嵌tomca

  • Spring Boot 项目搭建教程及注解

    Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者 特点: 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标,健康检查和外部配置

随机推荐