Linux systemd 服务管理实战:Unit 文件、开机自启
现代 Linux 都用 systemd 管理服务替代了老的 SysVinit。部署 Java/Python 项目、写开机自启、看服务日志全都要用 systemd。这篇从 Unit 文件写到实战部署。一、什么是 systemdsystemd 系统和服务管理器 老方式 serviceSysVinit 开机顺序执行脚本无依赖关系启动慢 /etc/init.d/xxx 脚本启动 新方式 systemd 并行启动、按依赖排序、统一管理 /usr/lib/systemd/system/ 存 Unit 文件 用 systemctl 命令操作# systemctl 常用命令systemctl start nginx# 启动systemctl stop nginx# 停止systemctl restart nginx# 重启systemctl status nginx# 查看状态systemctlenablenginx# 开机自启systemctl disable nginx# 取消自启systemctl is-active nginx# 是否运行中二、编写 Unit 文件以部署一个 Java 项目为例创建/etc/systemd/system/myapp.service[Unit] DescriptionMy Java Application # 描述 Afternetwork.target mysql.service # 依赖这些服务先启动 Wantsmysql.service # 软依赖失败不阻塞 [Service] Typesimple # 简单类型主进程前台运行 Userappuser # 以哪个用户运行安全 WorkingDirectory/opt/myapp # 工作目录 ExecStart/usr/bin/java -Xms256m -Xmx512m -jar myapp.jar # 启动命令 ExecStop/bin/kill -s TERM $MAINPID # 停止命令 Restarton-failure # 失败自动重启 RestartSec5 # 重启等待5秒 EnvironmentJAVA_HOME/usr/local/jdk # 环境变量 StandardOutputappend:/var/log/myapp.log # 日志输出 StandardErrorappend:/var/log/myapp-error.log [Install] WantedBymulti-user.target # 开机自启挂载点Restart 策略对比策略行为no不自动重启默认on-failure非正常退出才重启推荐生产always任何退出都重启on-abnormal信号/超时/看门狗等异常才重启三、生效与开机自启# 写完后必须重载配置systemctl daemon-reload# 启动并设置开机自启systemctl start myapp systemctlenablemyapp# 查看状态会显示是否开机自启 enabledsystemctl status myapp部署 Java 项目的完整流程# 1. 创建应用目录并上传 jarmkdir-p/opt/myappscpmyapp.jar root服务器:/opt/myapp/# 2. 创建非root运行用户安全useradd-rappuser# 3. 写 Unit 文件内容见上vi/etc/systemd/system/myapp.service# 4. 重载并启动systemctl daemon-reload systemctlenable--nowmyapp# 5. 验证systemctl status myapptail-f/var/log/myapp.log四、日志查看 journalctljournalctl-umyapp# 查看服务全部日志journalctl-umyapp-f# 实时跟踪journalctl-umyapp--since1 hour ago# 最近1小时journalctl-umyapp-n100# 最近100行journalctl-umyapp-perr# 只看错误级别常见报错排查启动失败三步排查 1. systemctl status myapp → 看错误提示 2. journalctl -u myapp -p err → 看详细错误日志 3. 检查文件权限 / 端口占用 / 环境变量 端口被占用 ss -tlnp | grep 8080 kill -9 pid # 或改配置文件端口五、定时任务 systemd timersystemd 也能做定时任务替代 crontab# /etc/systemd/system/backup.service [Service] ExecStart/opt/scripts/backup.sh # /etc/systemd/system/backup.timer [Timer] OnCalendar*-*-* 02:30:00 # 每天凌晨2点半 Persistenttrue # 错过时间下次开机补执行 [Install] WantedBytimers.targetsystemctlenable--nowbackup.timer systemctl list-timers# 查看所有定时任务总结systemd 三个要点1. Unit 文件三部分 [Unit] 描述依赖 / [Service] 启动参数 / [Install] 自启挂载 2. 每次改 Unit 文件都要 systemctl daemon-reload 3. 日志排查用 journalctl -u 服务名 生产部署推荐配置 Typesimple Restarton-failure RestartSec5 非root用户 日志落盘到文件配合systemctl statusjournalctl再也不用担心服务挂了不知道。 觉得有用的话点赞 关注【张老师技术栈】吧

相关新闻

Markdown本地图片预览全攻略:原理、方案与最佳实践

Markdown本地图片预览全攻略:原理、方案与最佳实践

1. 项目概述:为什么我们需要在.md文件中优雅地插入本地图片?如果你经常用Markdown写文档、记笔记,或者维护项目README,肯定遇到过这个烦心事:辛辛苦苦在.md文件里插入了本地图片的路径,结果在编辑器里只看到…

2026/10/1 7:03:20 阅读更多 →
ShaderGraph幂运算节点深度解析:从数学原理到实战应用

ShaderGraph幂运算节点深度解析:从数学原理到实战应用

1. 项目概述今天我们来深入聊聊ShaderGraph里一个看似简单,实则“威力”巨大的节点——幂运算节点,也就是Power Node。如果你在Unity里鼓捣过材质特效,或者想实现一些非线性的颜色、亮度变化,那这个节点绝对是你工具箱里的“隐藏高…

2026/9/30 4:53:51 阅读更多 →
Windows智能题库生成器!

Windows智能题库生成器!

链接: https://pan.baidu.com/s/1kv7H2ZMsbJpjoRZQQ2W0hg 提取码: edy8我自己因为记忆力比较差,但是工作上有阅读文献和指南的需求,网上没找到类似的软件,所以写了这款,软件支持导入pdf及word和markdown生成题目,支持自…

2026/9/28 5:07:23 阅读更多 →

最新新闻

CPS是什么?信息物理系统与客户编程软件汉化补丁解析

CPS是什么?信息物理系统与客户编程软件汉化补丁解析

CPS 这三个字母,我在过去一年里至少在两个完全不同的技术社群里反复撞见过。做工业数字化的朋友张口就是信息物理系统、数字孪生、边缘控制器;玩对讲机的老哥嘴里念叨的却是"GP88S 的 CPS r02.02 汉化补丁到底怎么装"。同一个缩写,…

2026/10/1 12:52:59 阅读更多 →
PROFINET掉站闪断响应慢怎么办?现场排查思路与实战指南

PROFINET掉站闪断响应慢怎么办?现场排查思路与实战指南

搞工控的兄弟,谁没被 PROFINET 折腾过几回?设备在实验室里跑得好好的,一拉到现场就动不动掉站、闪断,要么就是响应慢半拍,找半天找不出原因。尤其是碰到机器人、伺服这种对实时性要求高的设备,系统闹起脾气…

2026/10/1 12:52:59 阅读更多 →
游戏闪退+缺少DLL?别急着下载,按这4步排查修复

游戏闪退+缺少DLL?别急着下载,按这4步排查修复

你刚排进无畏契约的选人阶段,屏幕一卡,还没等反应过来就回到了桌面;或者在三角洲行动的加载界面,连"开始行动"都没看到,游戏直接消失。这种闪退还带一个报错弹窗,上面写着"缺少 dll 文件&qu…

2026/10/1 12:52:59 阅读更多 →
Qwen2-72B+ vLLM 实现200k上下文稳定推理实战

Qwen2-72B+ vLLM 实现200k上下文稳定推理实战

1. 项目概述:不是“平替”,而是重新定义长上下文能力的实战方案最近刷到不少标题党说“XX模型是ChatGPT-4.0最强平替”,点进去一看,要么是拿32k上下文的开源模型硬凑热度,要么直接把API调用封装成网页就敢标榜“200k”…

2026/10/1 12:52:59 阅读更多 →
Redis 接入 AI 实战:向量检索、语义缓存与 Agent 记忆层

Redis 接入 AI 实战:向量检索、语义缓存与 Agent 记忆层

1. 从“Redis 接入 AI”说起:这件事到底意味着什么Redis 这个名字,做后端开发的人基本都绕不开。缓存、分布式锁、消息队列、排行榜、会话存储,几乎每个稍微有点规模的项目里都能看到它的身影。但“Redis 已正式接入 AI”这个说法&#xff0c…

2026/10/1 12:52:59 阅读更多 →
Strands Agents Harness SDK:从原型到生产级Agent开发实战

Strands Agents Harness SDK:从原型到生产级Agent开发实战

Agent 开发这件事,很多人第一次接触时都会有一种"我是不是把它想复杂了"的错觉。你打开一个主流框架的文档,跟着写一个 ReAct 循环,跑通了,感觉挺好;然后你想加个工具调用、加个多轮记忆、加个流式输出、加个…

2026/10/1 12:51:58 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →