linux虚拟机如何部署springboot项目
时间: 2025-07-09 08:42:13 浏览: 12
### 部署Spring Boot项目到Linux虚拟机的步骤
在Linux虚拟机上部署Spring Boot项目,通常需要完成以下几部分工作:系统环境准备、项目打包、文件传输以及服务启动。以下是详细的说明:
#### 1. 系统环境准备
确保Linux虚拟机上安装了必要的软件和依赖:
- **Java运行环境**:Spring Boot项目需要Java运行时环境(JRE)或开发工具包(JDK)。推荐使用OpenJDK版本,例如OpenJDK 17[^3]。
- **Nginx(可选)**:如果需要通过Nginx进行反向代理和负载均衡,可以安装Nginx[^1]。
- **MySQL或其他数据库(可选)**:根据项目需求,可以选择是否安装数据库服务。
在Linux中可以通过以下命令安装OpenJDK:
```bash
sudo apt update
sudo apt install openjdk-17-jdk
```
验证Java安装是否成功:
```bash
java -version
```
#### 2. 项目打包
Spring Boot项目支持多种打包方式,最常见的是将项目打包为一个可执行的JAR文件。这种方式无需额外配置Tomcat等应用服务器[^3]。
在本地Windows环境中,打开项目的`pom.xml`文件,并确保以下配置存在:
```xml
<packaging>jar</packaging>
```
然后使用Maven进行打包:
```bash
mvn clean package
```
打包完成后,会在`target`目录下生成一个JAR文件。
#### 3. 文件传输
将生成的JAR文件从本地传输到Linux虚拟机上。常用的文件传输工具有:
- **SCP**:通过命令行传输文件。
- **SFTP**:通过图形化工具(如FileZilla)传输文件。
使用SCP传输文件的命令示例:
```bash
scp /path/to/your-app.jar user@linux-ip:/home/user/
```
#### 4. 启动Spring Boot服务
登录到Linux虚拟机后,进入存放JAR文件的目录并启动服务:
```bash
java -jar your-app.jar
```
为了实现后台运行,可以结合`nohup`命令:
```bash
nohup java -jar your-app.jar > app.log 2>&1 &
```
#### 5. 使用Docker容器化(可选)
如果希望以容器化的方式部署Spring Boot项目,可以参考以下Dockerfile[^4]:
```dockerfile
# 使用官方OpenJDK 17镜像作为基础镜像
FROM openjdk:17-jdk-slim
# 维护者信息
LABEL maintainer="dunkeng"
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 将jar包复制到容器中
COPY your-app.jar /app.jar
# 暴露端口
EXPOSE 8080
# 启动命令
ENTRYPOINT ["java","-jar","/app.jar"]
```
构建Docker镜像并运行容器:
```bash
docker build -t springboot-app .
docker run -d --name=myapp -p 8080:8080 --restart=always springboot-app
```
#### 6. 配置Nginx(可选)
如果需要通过Nginx对外提供服务,可以在Nginx配置文件中添加反向代理规则:
```nginx
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
保存配置后,重启Nginx服务:
```bash
sudo systemctl restart nginx
```
---
### 注意事项
- 如果项目需要连接外部数据库,请确保数据库服务已正确配置,并更新项目的`application.properties`或`application.yml`文件中的数据库连接信息[^1]。
- 在生产环境中,建议使用日志管理工具(如Logstash)来监控服务日志[^3]。
---
阅读全文
相关推荐

















