当前位置:网站首页 > 云计算与后端部署 > 正文

如何在服务器上部署springboot项目(部署springboot到服务器)



今日闲来无事,就来写下SpringBoot项目如何部署到远程服务器,服务器环境我用的是阿里云和百度智能云(centos7+java+mysql+tomcat)博友们可自行选着运行环境,大同小异,废话不多说,我们就开是整硬菜!!

jar包(官方推荐)
jar包方式启动,也就是使用spring boot内置的tomcat运行。服务器上面只要你配置了jdk1.8及以上,就ok。不需要外置tomcat
1.先将项目在IDEA中打成jar包

2.将jar包通过FTP工具放到服务器任意目录,执行下面的命令

$ nohup java -jar test.jar >temp.txt &

//这种方法会把日志文件输入到你指定的文件中,没有则会自动创建。进程会在后台运行。
————————————————

ps:Linux jar包运行命令详细说明,请查看自行百度。。。


3.阿里云服务器/百度智能云服务器 需要放开对应的端口,此处用就用阿里云吧!
添加安全组:我的项目中配置的启动端口是18080,故这里需要放开18080端口,才能访问

4.访问swagger
访问格式:服务器ip:启动端口/swagger-ui.html
如:


war包
传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问。

开发环境:jdk1.8 + IDEA

2.项目新建完成后,修改启动Application文件继承SpringBootServletInitializer,实现configure方法

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Demo1Application extends SpringBootServletInitializer {

// 用来测试访问
@RequestMapping("/")
public String home() {
  return "hello 朋友";
}

public static void main(String[] args) {
  SpringApplication.run(Demo1Application.class, args);
}

// 继承SpringBootServletInitializer 实现configure 方便打war 外部服务器部署。
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(Demo1Application.class);
  }
}

3.修改pom.xml

完整pom.xml代码如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 这里打成war包 若打jar,需将war改为jar -->
<packaging>war</packaging>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.4.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <dependency>

  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
  </dependencies>

<build>
  <finalName>demo1</finalName>
  <plugins>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
  </plugins>
</build>

</project>

4.打包
这里可以直接到项目根目录下面:运行 maven package命令,打包。
我这里直接使用idea打包


一定注意 :我这里访问的端口是8080,也就是外部tomcat设置的端口。而不是项目,
application.yml中配置的server.port。

小结
1.对比两种打包方式,jar更加简单,方便。具体使用哪种方式,应视应用场景而定。
2.再说一次,将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问spring boot 项目中配置文件配置的端口。application.yml中配置的server.port配置的是spring boot内置的tomcat的端口号, 打成war包部署在独立的tomcat上之后, 你配置的server.port是不起作用的。一定要注意这一点!!
其实我们从tomcat的启动界面,已经可以看出,是启动的哪个端口:很明显,日志告诉我们,我们应该访问8080端口。

———————————————

到此这篇如何在服务器上部署springboot项目(部署springboot到服务器)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • springboot在服务器上部署(springboot文件服务器搭建)2025-04-12 23:54:09
  • 模型部署的步骤(模型如何部署上线)2025-04-12 23:54:09
  • redis端口6379(redis端口号是多少)2025-04-12 23:54:09
  • 服务器部署项目流程(服务器部署项目流程图)2025-04-12 23:54:09
  • 服务器部署springboot项目放哪个文件(springboot在服务器上运行)2025-04-12 23:54:09
  • redis查看端口(redis查看客户端连接数)2025-04-12 23:54:09
  • 操作系统的课后答案(操作系统课后答案江苏大学)2025-04-12 23:54:09
  • 模型部署工程师(模型工程师是什么意思)2025-04-12 23:54:09
  • 电视软件后缀.apk怎么删(电视软件后缀.apk怎么删除)2025-04-12 23:54:09
  • 操作系统课后题答案(操作系统课后题答案汤小丹)2025-04-12 23:54:09
  • 全屏图片