首页 > 编程语言 >systemd自动托管后端程序

systemd自动托管后端程序

时间:2025-01-22 22:55:43浏览次数:1  
标签:bin systemd service 托管 sbin 自动 usr local

  • 最开始刚刚接触高级编程语言写出来一个web程序的时候,我就开始建立了一个网站,但是当时把后端部署到服务器上如何离线运行呢?退出了ssh连接就会停止运行,我当时不熟悉linux,所以使用了一个最愚蠢的办法,用nohup来运行,哈哈哈,后来才知道systemd,最近又在开发,虽然在测试阶段,还是分享一下,让小白也能优雅的将程序托管给systemd
  • 首先给出一个模板:
[Unit]
Description=瑜伽api的测试
After=network.target

[Service]
ExecStart=/bin/bash /home/yang/workspace/yoga/apiYoga/shell/apiStart.sh
WorkingDirectory=/home/yang/workspace/yoga
Restart=always
User=yang
Group=yang
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin"
StandardOutput=journal
StandardError=journal
SyslogIdentifier=yoga

[Install]
WantedBy=multi-user.target

你只需要写一个shell,然后把执行的命令写入这个shell中,把shell交给systemd来执行就好了
接下来是注意事项

  1. 新建文件的位置应该在/etc/systemd/system/ 中,并且命名应该为name.service

  2. 使用之前需要先使用 echo $PATH 得到PATH的内容,然后再在Environment中写入如下内容,你不这样做的话连cd,ls这种最基本的功能都不能使用

Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin"
  1. 记得每次对/etc/systemd/system/中的内容进行修改新增之前都进行如下操作:
sudo systemctl daemon-reload
  1. 查看日志:
sudo journalctl -u yoga.service

这个命令能查看到指定的service的日志,而

journalctl -xe

这个命令则不一样,这个是查看最近使用的这个service的,简单来说会好一点.因为一个service不是stop之后日志就会被删除,也就是说我可能使用了10次,systemd真就把这十次的都给我保存了下来,那么一开始的内容很自然的就是第一次的,而不是我大概率想看到的第11次的.
有一个补救的办法

sudo journalctl -u yoga.service --since "1 hour ago"

这里的hour可以换成minutes或者minute(很棒,对单复数不分的人很友好),这样查看日志很舒服

标签:bin,systemd,service,托管,sbin,自动,usr,local
From: https://www.cnblogs.com/yangxiaoshuai/p/18686892

相关文章

  • Windows下,powershell实现自动编译生成Visual Studio项目
    windows平台、VS2019、x64、C++/C在进行生成编译版本,并输出版本时,常常会遇到多个工程编译,同时提取出所需的动态库dll、执行文件exe,并进行打包。每次进行编译和打包均需要手动操作,过于繁琐,所以这里通过一个powershell文件去执行自动编译,后续可以通过批处理或者其他的powershell......
  • 使用 husky pre-commit 脚本自动检测提交代码里的关键词
    需求场景:1.若本地环境某个接口实在无法返回类真实的数据(包括一直是null或者一直是0),前端得做mock数据,提交的时候得注释掉mock相关代码。2. 我在上一家公司,由于要调试tiptap,大家都写了很多console.log,组长要求大家提pr的时候注释掉console.log以免影响他人调试......
  • Fart:Android 自动化脱壳技术全解析
    目录Fart:Android自动化脱壳技术全解析一、引言二、Fart简介三、安装准备(一)环境要求(二)获取Fart代码四、Fart工作原理(一)ART运行时基础(二)脱壳原理核心五、使用步骤(一)配置项目(二)选择目标应用(三)执行脱壳(四)获取脱壳结果六、代码示例(一)DexFile结构体解析代码示......
  • nvm自动切换node版本
    1、nvm常用命令nvmoff//禁用node.js版本管理(不卸载任何东西)nvmon//启用node.js版本管理nvminstall<version>//安装node.js的命名version是版本号例如:nvminstall8.12.0nvmuninstall<version>//卸载node.j......
  • Spring自动装配全攻略:掌握核心方式的秘诀
    想象一下,你有一个工具箱(Spring容器),里面放了很多工具(beans)。每次你需要用工具时,你不需要自己去找,而是告诉工具箱你需要什么,工具箱会自动帮你找到并递给你。这就是Spring自动装配的基本概念。1.基于XML的配置:就像你有一个清单(XML文件),上面写了每个工具的名字和它的用途。你告诉......
  • 微信公众号-脚本简单实现,自动新建草稿并发布草稿文章,代码开源
    介绍本来想写一个自动化发布微信公众号的小绿书的脚本。但是微信公众号官网没有小绿书的接口。想着算了吧,写都写了,那就写一个微信普通文章的脚本吧。写完了就想着把脚本分享出来,给大家一起交流下。水平有限,大佬轻喷。 思路1,获取百度热搜列表2,给热搜图片加上文字标题3,上......
  • Windows Terminal/Powershell 设置自动补全, 智能提示 【类似于mac的iterm2功能】
    WindowsTerminal/Powershell设置自动补全,智能提示 安装:´PSReadLine´version2.1.0 #安装:´PSReadLine´version2.1.0Install-ModulePSReadLine-RequiredVersion2.1.0#初始化:Import-ModulePSReadLineSet-PSReadLineOption-PredictionSourceHistory ......
  • ProtChat:融合大语言模型与蛋白质语言模型的自动化蛋白质分析工具
    近年来,大语言模型(LLMs)在自然语言处理领域取得了巨大进展,极大地提升了人机交互的效率和精准度。而在计算生物学中,蛋白质序列被类比为自然语言,基于此的蛋白质大语言模型(PLLMs)也应运而生。然而,PLLMs的应用往往需要复杂的预处理和脚本开发,这使得非计算背景的研究人员难以充分利用其潜......
  • 配电网的自动化和智能化水平介绍
    一、配电网自动化水平配电自动化系统的建设:配电自动化系统通过集成计算机技术、通信技术和信息技术,实现了对配电网络的实时监测、控制和故障管理。系统能够自动采集配电设备的运行数据,进行远程监控和遥控操作,提高了配电网络的运行效率和可靠性。故障自动处理与恢复:配电自......
  • Word排版|自动设置/更新图表编号
    1.进入表格创建样式界面,点击编号2.点击定义编号格式3.选择编号样式为1,2,3…编号格式设置为表1/图1英文版设置为Table1/Fig14.点击格式,选择段落设置,按要求设置即可这里表名在表格上方,所以要设置段前0.5行图名在图片下方,所以要设置段后0.5行5.选中表格名称,应用设置......