征文投稿丨在轻量应用服务器上部署SpringBoot项目

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 在轻量应用服务器上部署SpringBoot项目,可用于线上调试或查看上线后的项目效果。

本文来自轻量应用服务器征文活动用户投稿,已获得作者(昵称AnonyEast)授权发布。


引言:新手开发人员在本地进行SpringBoot项目开发时,如果想要将项目部署到轻量应用服务器上,用于线上调试或查看上线后的项目效果,在外网通过一个网址直接访问到这个项目,则可以参考本教程。


一、适用场景

1.项目使用IntelliJ IDEA进行开发,并使用Maven构建的SpringBoot项目。

2.服务器安装有宝塔面板。

3.在宝塔面板中安装了Apache或Nginx服务、JDK。

4.如果项目使用了数据库,还需要在服务器安装相应的数据库。

5.有已经注册的域名。


二、部署细节

1. 如果项目是前后端分离项目,那么后台请求地址不能是localhost,必须改为本项目的域名,在打包之前就要做好修改。


如果项目使用了数据库,必须确保项目部署到服务器后,application.yaml配置文件中配置的数据库地址和端口,相对于服务器而言仍然是可以访问的,否则就需要进行修改。(部署到服务器后,localhost就是服务器自身了,而不是自己电脑上的本地开发环境)


2. 在SpringBoot项目pom.xml文件的<project>标签中,添加如下代码,代表本项目要打包为一个jar包。

<packaging>jar</packaging>

 

例如:


<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>stuinfo-query</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>StudentInfoQuery</name>
<description>学生信息管理系统</description>
<packaging>jar</packaging>


3. 在IntelliJ IDEA的Maven面板中,运行Lifecycle中的clean,清除所有已经编译生成的文件,即删除target目录。    

image001.png

                                     

4. 在Maven面板中,运行Lifecycle中的package,开始将项目打包为jar包。如果需要跳过测试,可以先点击“小闪电”按钮,再运行package命令。跳过测试可以大幅提高打包速度。

image002.png


如果在控制台看到如下的类似输出结果代表打包成功

image003.png


5. 在target目录中可以看到刚刚打包完成的jar包。我们需要将这个jar包在服务器上运行。

image004.png


6. 添加域名解析,例如,若您的项目的域名是stuinfoquery.example.com,则您需要在购买example.com这个域名的域名服务商处,添加一个叫做stuinfoquery的A记录,并将记录值设置为您的轻量应用服务器公网ip地址。

image005.png


轻量应用服务器的ip地址可以在阿里云轻量应用服务器控制台查看,如下图所示,106.15.xxx.xxx就是轻量应用服务器的公网ip地址。

image006.png


7. 登录宝塔面板,在网站存放路径新建一个目录,作为本项目的运行目录,然后将项目的jar包上传到该目录。下图示例中服务器的网站存放路径是/www/wwwroot。

image007.png


8. 在宝塔面板的软件商店中,打开“Java项目一键部署 3.4”,如果没有安装这个软件,需要先安装。

image008.png


9. 打开该软件后,选择SpringBoot,点击添加项目。项目路径选择刚刚上传的jar包,项目域名输入本项目的域名,项目端口可以根据情况进行更改。


在自定义参数中,可以指定SpringBoot启动参数,例如,如果你的项目存在多个application-xxx.yaml文件,则可以通过--spring.profiles.active参数指定使用哪一个application-xxx.yaml。

image009.png


10. 添加完成后启动项目,查看日志,检查项目是否正常启动,如果正常启动没有报错,则点击映射按钮,将本项目映射到宝塔面板的网站列表中。

image.gifimage010.png


11. 以上步骤完成之后,就可以通过域名访问SpringBoot项目了。


三、注意事项

1. 当application.yaml文件被分为dev和prod等多个版本时,必须在自定义参数中使用--spring.profiles.active指定配置文件,否则项目将无法正常启动。


2. 在宝塔面板7.8.0中,可以直接在网站列表添加Java项目了,不再需要安装“Java项目一键部署 3.4”这个软件了,操作方法与本文中介绍的方法基本一致,不同之处在于无需点击映射按钮了。


以上就是在轻量应用服务器上部署SpringBoot项目的全部细节,希望对你学习和使用产品有所帮助。


点击我要投稿 ,查看全新升级的轻量应用服务器征文活动,奖励更丰富,月月可投稿~

相关实践学习
从零搭建Spring Boot的Hello World
本教程将使用IntelliJ IDEA搭建一个简单SpringBoot项目,在项目中运行一个Hello World请求示例,并部署到阿里云服务器ECS上。
相关文章
|
1月前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
1月前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
97 2
|
1月前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
40 0
|
1天前
|
消息中间件 JSON Java
RabbitMQ的springboot项目集成使用-01
RabbitMQ的springboot项目集成使用-01
|
3天前
|
Java 关系型数据库 MySQL
保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)
本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
|
5天前
|
关系型数据库 Java 数据库
docker部署postgresql数据库和整合springboot连接数据源
docker部署postgresql数据库和整合springboot连接数据源
13 0
|
5天前
|
Java
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
12 0
|
6天前
|
Java Spring
Spring boot项目如何发送邮件
Spring boot项目如何发送邮件
16 2
|
12天前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
|
12天前
|
Java
SpringBoot 项目启动初始化一个Map对象到内存
SpringBoot 项目启动初始化一个Map对象到内存

热门文章

最新文章

相关产品

  • 云服务器 ECS
  • 轻量应用服务器