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

首先我们来讲解“从零开始让你的Spring Boot项目跑在Linux服务器”的攻略。

准备工作

在将Spring Boot项目跑在Linux服务器之前,需要先确保我们已经满足以下条件:

  • 已经有一台Linux服务器,并且可以通过SSH连接;
  • 已经安装好Java Runtime Environment(JRE);
  • 已经下载好我们的Spring Boot项目并打包成jar包。

将jar包上传至服务器

将Jar包上传至服务器的方式有很多种,比如使用FTP工具、使用SCP命令等等,这里我们演示使用SCP命令的方式。

首先进入到本地保存项目的目录,执行以下命令将jar包上传至服务器(假设服务器IP为192.168.1.100,上传至服务器的路径为/home/user/app):

scp target/xxx.jar user@192.168.1.100:/home/user/app/

其中target/xxx.jar为我们打包好的jar包路径,user为服务器用户名,192.168.1.100为服务器IP地址,/home/user/app/为上传至服务器的路径。

安装并配置Systemd

Systemd是Linux系统中的一种系统和服务管理器,可以允许用户将自己的服务作为系统服务来运行。我们使用Systemd来管理我们的Spring Boot应用。

首先通过以下命令安装Systemd:

sudo yum install -y systemd

系统安装好Systemd后,我们需要为我们的应用创建一个Systemd service文件,用于指定如何启动我们的应用。在/etc/systemd/system/目录下创建一个myapp.service文件,文件内容如下:

[Unit]
Description=My Spring Boot App
After=syslog.target

[Service]
User=tomcat
ExecStart=/usr/bin/java -jar /home/user/app/xxx.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

在此文件中,我们指定了应用描述、启动用户、以及如何启动我们的Spring Boot应用。

接着,将此文件添加至systemctl,并启动:

sudo systemctl daemon-reload
sudo systemctl start myapp.service

至此,在Linux上已经成功部署了Spring Boot应用。

示例1

以下是一组示例,说明如何将一个简单的Spring Boot应用跑在Linux服务器上。

  1. 编写Spring Boot应用代码
@SpringBootApplication
@RestController
public class MyApplication {
  @RequestMapping("/")
  public String home() {
    return "Hello, world!";
  }

  public static void main(String[] args) {
    SpringApplication.run(MyApplication.class, args);
  }
}
  1. 在命令行中打包此项目(需要保证已经安装好maven):
mvn package
  1. 将打包好的jar包上传到Linux服务器中。

  2. 创建/etc/systemd/system/myapp.service文件,添加以下内容:

[Unit]
Description=My Spring Boot App
After=syslog.target

[Service]
User=tomcat
ExecStart=/usr/bin/java -jar /home/user/app/xxx.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

其中xxx.jar为我们刚刚上传至服务器的jar包。

  1. 重新加载配置文件,并启动服务:
sudo systemctl daemon-reload
sudo systemctl start myapp.service
  1. 访问网站,在浏览器中访问http://服务器ip:8080,即可看到“Hello, world!”的页面。

示例2

另一个示例是如何将带有数据库的Spring Boot应用跑在Linux服务器上。

  1. 编写Spring Boot应用代码(此处以MySQL数据库为例):
@SpringBootApplication
@RestController
public class MyApplication {
  @Autowired
  private JdbcTemplate jdbcTemplate;

  @RequestMapping("/")
  public String home() {
    String sql = "SELECT COUNT(*) FROM users";
    int count = jdbcTemplate.queryForObject(sql, Integer.class);
    return "Hello, world! There are " + count + " users in the database.";
  }

  public static void main(String[] args) {
    SpringApplication.run(MyApplication.class, args);
  }
}
  1. application.properties文件中添加数据库配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  1. 在命令行中打包此项目。

  2. 将打包好的jar包上传到Linux服务器中。

  3. 创建/etc/systemd/system/myapp.service文件,添加以下内容:

[Unit]
Description=My Spring Boot App
After=syslog.target

[Service]
User=tomcat
ExecStart=/usr/bin/java -jar /home/user/app/xxx.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

其中xxx.jar为我们刚刚上传至服务器的jar包。

  1. 安装MySQL数据库,并创建test数据库,以及users表。

  2. 重新加载配置文件,并启动服务:

sudo systemctl daemon-reload
sudo systemctl start myapp.service
  1. 访问网站,在浏览器中访问http://服务器ip:8080,即可看到“Hello, world! There are X users in the database.”的页面,其中X为数据库中users表中的记录数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从零开始让你的Spring Boot项目跑在Linux服务器 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • java压缩文件与删除文件的示例代码

    让我来介绍一下如何使用Java对文件进行压缩和删除。 压缩文件 Java中提供了zip压缩格式的支持,在使用时只需要使用java.util.zip包中的相关类即可。下面提供两个示例: 示例一:压缩单个文件 import java.io.*; import java.util.zip.*; public class ZipDemo { public stati…

    Java 2023年5月19日
    00
  • 在Java代码中解析html,获取其中的值方法

    要在Java代码中解析html,获取其中的值,可以使用Jsoup这个第三方开源库。下面是使用Jsoup的步骤: 第一步:导入Jsoup库 使用Maven导入依赖: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId…

    Java 2023年5月26日
    00
  • Servlet与JSP间的两种传值情况

    Servlet与JSP是JavaEE中常见的Web开发组件,二者通常需要交互传递数据才能实现复杂的业务逻辑。下面我将详细讲解Servlet与JSP间的两种传值情况: 1. 通过URL参数传值 通过URL参数传值是Servlet与JSP间最简单的一种传值方式,它将数据作为URL的一部分直接传递给接收方。例如,我们可以在Servlet中使用以下代码设置URL并跳…

    Java 2023年6月15日
    00
  • 解决SpringSecurity 一直登录失败的问题

    对于SpringSecurity一直登录失败的问题,我们可以从以下几个方面来进行排查和解决。 1.检查用户名和密码是否正确 登录失败的常见原因之一是用户名和密码不正确。我们可以通过查看用户表或者日志来检查用户输入的用户名和密码是否与系统中保存的用户名和密码匹配。如果不匹配,则登录失败。另外,如果程序使用了加密算法对密码进行加密,我们还需要检查用户输入的密码是…

    Java 2023年5月20日
    00
  • Java的Struts框架报错“NoSuchRequestHandlingMethodException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“NoSuchRequestHandlingMethodException”错误。这个错误通常由以下原因之一起: 方法名称错误:如果方法名称不正确,则可能出现此。在这种情况下,需要检查方法名称以解决此问题。 配置错误:如果配置文件中没有正确配置,则可能会出现此。在这种情况下,需要检查配置以解决此问题。 以下是两个…

    Java 2023年5月5日
    00
  • java 数据库连接与增删改查操作实例详解

    Java 数据库连接与增删改查操作实例详解 数据库连接 在 Java 中,可以通过使用 JDBC 驱动程序来实现与数据库的连接。步骤如下:1. 加载驱动程序2. 建立数据库连接3. 关闭数据库连接 加载驱动程序 Java 中的 DriverManager 类提供了一个用于加载 JDBC 驱动程序的 registerDriver() 方法。驱动程序可以通过 C…

    Java 2023年5月19日
    00
  • 什么是 JVM 参数?

    以下是关于 JVM 参数的完整使用攻略: 什么是 JVM 参数? JVM 参数是指在启动 Java 虚拟机时,通过命令行或配置文件等方式传递给 JVM 的一些参数。这些参数可以用来控制 JVM 的行为,例如设置堆大小、垃圾回收器类型、线程数等。JVM 参数可以分为标准参数和非标准参数两种。 标准参数是由 JVM 官方定义的参数,用于控制 JVM 的基本行为,…

    Java 2023年5月12日
    00
  • 常见的 JVM 性能分析工具有哪些?

    以下是关于常见的 JVM 性能分析工具的完整使用攻略: 常见的 JVM 性能分析工具 JVM 性能分析工具是用来分析 Java 程序在 JVM 上的性能表现的工具。常见的 JVM 性能分析工具包括以下几种: 1. JConsole JConsole 是 JDK 自带的一款监控工具,可以监控 JVM 的内存、线程、类、CPU 等信息。通过 JConsole,可…

    Java 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部