部署项目之systemd部署

system后端项目部署操作手册(systemd 版 )

一、项目目录说明

xml 复制代码
/opt/project/
├── project-backend.jar    # 后端 jar 包
├── application-prod.yml  # 生产环境配置文件
└── (日志由系统 journalctl 管理)

二、systemd 服务配置文件

文件路径

xml 复制代码
/etc/systemd/system/project.service

完整配置内容

xml 复制代码
[Unit]
Description=project Backend Service
After=network.target

[Service]
User=root
Group=root
Type=simple
WorkingDirectory=/opt/project
ExecStart=/usr/local/linux-aarch64/bin/java -jar /opt/project/project-backend.jar --spring.config.location=/opt/project/application-prod.yml --logging.level.com.zaxxer.hikari=DEBUG
SuccessExitStatus=143
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

三、常用操作命令

  1. 重载配置(修改 service 后必须执行)
xml 复制代码
systemctl daemon-reload
  1. 启动服务
xml 复制代码
systemctl start project
  1. 停止服务
xml 复制代码
systemctl stop project
  1. 重启服务
xml 复制代码
systemctl restart project
  1. 查看服务状态
xml 复制代码
systemctl status project
  1. 设置开机自启
xml 复制代码
systemctl enable project
  1. 关闭开机自启
xml 复制代码
systemctl disable project

四、日志查看命令

  1. 实时查看日志(推荐)
xml 复制代码
journalctl -u project -f
  1. 查看最近 100 行日志
xml 复制代码
journalctl -u project -n 100
  1. 查看今天所有日志
xml 复制代码
journalctl -u project --since today

五、进程管理

  1. 查看是否有 Java 进程运行
xml 复制代码
ps -ef | grep java
  1. 强制杀死所有 Java 进程(应急用)
xml 复制代码
pkill -f java
  1. 仅杀死当前项目进程
xml 复制代码
pkill -f 'project-backend.jar'

六、重新部署流程(更新 jar 包)

上传新的 project-backend.jar 到 /opt/project/

停止服务:systemctl stop project

启动服务:systemctl start project

查看状态确认启动成功:systemctl status project

七、启动成功标志

Active: active (running)

出现绿色 running 即为正常运行。

八、常见问题排查

启动失败 → 看日志:journalctl -u project -e

端口占用 → 杀进程:pkill -f java

数据库连不上 → 检查 application-prod.yml 配置

服务启动后自动退出 → 多为配置文件语法错误或库连接异常

相关推荐
Web3探索者16 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo18 小时前
Linux系统中网线与USB网络共享冲突
linux
荣--20 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森21 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜2 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10152 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB3 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao3 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏