java应用部署到linux环境是后端开发常见的操作场景,整个过程需要完成环境配置、应用打包、服务部署、启动验证等多个环节,下面会逐步介绍每个环节的具体操作。

一、部署前环境准备
首先需要确保linux服务器已经安装好java运行环境,推荐安装JDK8及以上版本,可通过以下命令检查是否安装:
# 检查java版本 java -version
如果没有安装,可先下载对应版本的JDK安装包,解压后配置环境变量,在/etc/profile文件中添加以下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_301 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
执行source /etc/profile使配置生效,再次执行java -version确认环境配置成功。
二、应用打包
如果是maven管理的java项目,可在项目根目录执行打包命令:
# 打包跳过测试 mvn clean package -DskipTests
打包完成后会在target目录下生成jar包或者war包,这里以spring_boot项目生成的jar包为例,将jar包上传到linux服务器的指定目录,比如/data/app目录。
三、部署启动应用
3.1 直接启动方式
最简单的启动方式是直接执行java命令:
# 前台启动,关闭终端后应用会停止 java -jar /data/app/demo-0.0.1-SNAPSHOT.jar # 后台启动,关闭终端应用继续运行 nohup java -jar /data/app/demo-0.0.1-SNAPSHOT.jar > /data/app/app.log 2>&1 &
其中> /data/app/app.log表示将标准输出重定向到app.log文件,2>&1表示将错误输出也重定向到标准输出,&表示后台运行。
3.2 配置系统服务启动
直接启动的方式不便于管理,推荐配置systemd系统服务,首先创建服务配置文件:
vi /etc/systemd/system/demo.service
文件内容如下:
[Unit] Description=demo java application After=network.target [Service] Type=simple User=root ExecStart=/usr/local/jdk1.8.0_301/bin/java -jar /data/app/demo-0.0.1-SNAPSHOT.jar Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
配置完成后执行以下命令管理服务:
# 重新加载systemd配置 systemctl daemon-reload # 启动服务 systemctl start demo # 设置开机自启 systemctl enable demo # 查看服务状态 systemctl status demo # 停止服务 systemctl stop demo # 重启服务 systemctl restart demo
四、验证部署结果
应用启动后,可通过以下方式验证是否部署成功:
- 查看应用日志,确认没有报错信息:tail -f /data/app/app.log
- 检查应用端口是否正常监听:netstat -tlnp | grep 端口号,spring_boot默认端口是8080
- 调用应用接口验证:curl http://127.0.0.1:8080/hello,如果返回预期结果说明部署成功
五、常见问题处理
5.1 端口被占用
如果启动时提示端口被占用,可先查找占用端口的进程:
# 查找占用8080端口的进程 netstat -tlnp | grep 8080 # 杀死对应进程,pid是进程号 kill -9 pid
5.2 内存不足
如果应用启动时提示内存不足,可在启动命令中添加JVM参数调整内存:
java -Xms512m -Xmx1024m -jar /data/app/demo-0.0.1-SNAPSHOT.jar
5.3 配置文件不生效
如果应用的配置文件没有生效,可在启动时指定配置文件路径:
java -jar /data/app/demo-0.0.1-SNAPSHOT.jar --spring.config.location=/data/app/application.yml
javalinux部署spring_boot修改时间:2026-06-24 06:21:12