ideaspringboot项目部署到服务器
时间: 2025-07-05 17:04:09 浏览: 1
### 将 Spring Boot 项目部署到服务器
#### 安装 JDK
为了运行 Java 应用程序,在云服务器上需先确认是否已经安装了 JDK。如果没有,则需要下载并配置适合版本的 JDK[^1]。
```bash
java -version
```
如果命令返回的是未找到 java 的错误提示,那么就需要通过包管理器来安装它:
对于基于 Debian/Ubuntu 的系统:
```bash
sudo apt update && sudo apt install openjdk-17-jdk
```
对于基于 Red Hat/CentOS 的系统:
```bash
sudo yum install java-17-openjdk-devel
```
#### 安装 MySQL 数据库
同样地,也需要确保数据库服务已经在云服务器上正常工作。可以利用官方仓库或者直接从官方网站获取最新版 MySQL 进行安装。
对于 Ubuntu 用户来说,可以通过如下指令完成快速设置:
```bash
sudo apt-get install mysql-server
```
而对于 CentOS 用户而言,则应执行下面这条语句:
```bash
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql-community-server
```
#### 打包 Spring Boot 项目为 JAR 文件
在本地开发环境中构建可执行的 JAR 文件之前,请保证 Maven 或 Gradle 构建工具已经被正确引入到了项目的 pom.xml 或 build.gradle 中。之后就可以借助这些工具来进行打包操作了。
Maven 方式的例子:
```xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
```
接着可以在终端里输入 mvn clean package 来创建目标文件夹下的 jar 包。
Gradle 方式则更简单一些,只需要确保 `bootJar` 插件被应用即可,并且可以直接使用 gradlew 命令进行编译打包:
```groovy
plugins {
id 'org.springframework.boot' version '2.5.4'
}
```
随后运行 ./gradlew build 即可得到相应的 Jar 文件。
#### 开放防火墙端口
为了让外部能够访问应用程序所提供的 RESTful API 接口或者其他网络资源,默认情况下可能还需要调整安全组策略以及操作系统自带的 iptables/firewalld 设置以便允许特定端口的数据传输请求到达本机上的 web server。
以 CentOS 上启用 firewalld 并开放 HTTP(S) 流量为例:
```bash
sudo systemctl start firewalld
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
```
#### 部署与启动 Spring Boot 应用
最后一步就是把前面准备好的 jar 文件上传至远程主机并通过 SSH 登录后切换目录再执行 java -jar xxx.jar 启动 spring boot 应用了;当然也可以考虑将其注册成为 systemd service 实现开机自启等功能特性。
创建一个名为 myapp.service 的 unit file 放置于 /etc/systemd/system 下面:
```ini
[Unit]
Description=my application
[Service]
User=root
ExecStart=/usr/bin/java -jar /path/to/my-app.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
```
保存更改后的配置文档并且刷新守护进程加载新的定义:
```bash
systemctl daemon-reload
systemctl enable myapp.service
systemctl start myapp.service
```
阅读全文
相关推荐

















