linux创建自定义服务部署项目

1.进入linux单元服务文件夹

cd /etc/systemd/system/

 2.创建一个文件以.service结尾的文件

C#(.Net Core)、 Java、Python等语言,都可以通过linux自定义服务来部署项目,实现守护进程、实现开机自启

 2.1例如创建my.service文件

这里以部署python项目为例,vi 创建my.service文件

vi my.service

2.2service文件写入内容

解释说明

  • [Unit] 部分
    • Description:这是服务的描述信息,用于在 Systemd 相关命令的输出中方便用户识别服务。
    • After:指定该服务在network.target之后启动,这意味着在网络初始化完成后,这个服务才会启动。可以根据服务的实际需求修改这个依赖关系。
  • [Service] 部分
    • Type:这里设置为simple,表示这是一个简单的执行程序的服务类型。其他常见类型还有forking(服务启动后会创建子进程)等。
    • ExecStart:指定服务启动时要执行的命令,这里是我们之前创建的脚本文件的路径。
    • Restart:设置为on - failure,表示服务在遇到错误退出时会自动重启。
    • User:指定服务运行的用户,这里设置为root,也可以根据实际安全需求修改为其他用户。
    • WorkingDirectory是服务配置中的一个重要参数。它指定了服务运行时的工作目录。当服务启动后,它会将这个目录作为当前工作目录,就像在命令行中使用cd命令切换到这个目录一样。许多与文件系统相关的操作(如读取配置文件、写入日志文件等)都会基于这个工作目录来进行相对路径的定位。
  • [Install] 部分
    • WantedBy:这里表示服务应该被哪个目标(target)所启用。multi - user.target是多用户模式下的基本目标,意味着在系统进入多用户模式时,这个服务会被自动启动(当然还需要执行systemctl enable命令来设置开机启动)。

 内容如下:

根据自身项目情况更改即可

[Unit]
Description=Python Script
After=network.target

[Service]
User=root
WorkingDirectory=/usr/projects/flask-api
ExecStart=/bin/bash -c ". .venv/bin/activate && python worker.py -n 1"
Restart=always

[Install]
WantedBy=multi-user.target

写入上面内容后vi 执行 :wq  保存并推出

3. 管理自定义服务

3.1重新加载 Systemd 配置 

systemctl daemon - reload

3.2启动服务

systemctl start my.service

3.3查看服务状态

systemctl status my.service

3.4设置开机启动

systemctl enable my.service

3.5查看服务是否是开机启动

systemctl is-enabled my.service

enabled:说明是开机自启

3.6禁用服务开机自启

systemctl disable my.service

3.7停止服务

systemctl stop my.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902463.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

新华三H3CNE网络工程师认证—OSPF路由协议

OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。本博客将对OSPF路由协议进行总结。 OSPF目前针对IPv4协议使用的是OSPFVersion2(RFC2328); 针对IPv6协议使用OSPFVersion3(RFC2740)。如无特殊说明本章后续所指的OSPF均为OSPF Versi…

HBase2.4.17 修改znode后master初始化失败

正常运行的hbase服务,修改zookeeper.znode.parent后,重启。hbase master服务可以启动成功,但是仅有meta表上线,且hbase:meta表中元数据丢失。仅残留table:state列的值,其他列的值全部丢失。 有大佬知道是怎么回事嘛

(二十四)、在 k8s 中部署自己的 jar 镜像(以 springcloud web 项目为例)

文章目录 1、环境陈述2、前期准备2.1、将一个 SpringCloud 微服务运行 以 jar 方式运行2.2、为 SpringCloud 项目生成 Docker 镜像2.3、推送镜像2.4、从宿主机访问 k8s(minikube) 发布的 redis 服务2.5、k8s(minikube) 部署mysql 3、本期关键3.1、打 jar 包需要修改的地方3.2、…

Anchor DETR:Transformer-Based目标检测的Query设计

写在前面 文中指出之前DETR-like算法存在以下问题: 之前DETR-liked检测算法里,object query是一组可学习的嵌入表示(就是一组256-d的向量),缺乏明确的物理意义,不能解释它们会关注什么地方。每个object q…

禾川SV-X2E A伺服驱动器参数设置——脉冲型

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!人工智能学习网站 前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任…

PHPOK 4.8.338 后台任意文件上传漏洞(CVE-2018-12941)复现

PHPOK企业站(简称PHPOK)建设系统是一套基于PHP和MySQL构建的高效企业网站建设方案之一,全面针对企业网(以展示为中心)进行合理的设计规划。 PHPOK是一套开源免费的建站系统,可以在遵守LGPL协议的基础上免费使用。系统具…

浅析正交投影矩阵和透视投影矩阵的推导

先上矩阵的内容。在opengl中,分别通过glOrtho函数和glFrustum函数得到正交投影矩阵和透视投影矩阵。 glOrtho 函数描述生成正交投影矩阵。 (左、 下、 近) 和 (右、 上、 近) 参数分别指定近剪裁平面上映射到窗口左下角和右上角的点,假定眼睛位于 (0、0…

Vue104 vue3 组合式API的优势 对比配置式API

笔记 1.Options API 存在的问题 使用传统OptionsAPI中,新增或者修改一个需求,就需要分别在data,methods,computed里修改 。 2.Composition API 的优势 我们可以更加优雅的组织我们的代码,函数。让相关功能的代码更…

三方接口调用设计方案

在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,数据是否可以重复提交等问题 在设计三方接口调用的方案时,需要考虑到安全性和可用性。以下是一种设计方案的概述&am…

Jenkins + GitLab + Docker实现自动化部署(Java项目)

部署Jenkins 因为Jenkins需要用到git、jdk、maven,后两者我们采取挂载的方式,git采用直接在容器中安装的方式,所以我们要做一个增强版的Jenkins镜像,编写Dockerfile文件 #使用jenkins 镜像作为基础镜像 FROM jenkins/jenkins:lt…

Spring Boot框架下租房管理系统的设计与实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

springboot098基于web的网上摄影工作室的开发与实现(论文+源码)_kaic

网上摄影工作室 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了网上摄影工作室的开发全过程。通过分析网上摄影工作室管理的不足,创建了一个计算机管理网上摄影工作室的方案。文章介绍了网上摄影工…

Kubernetes实战——DevOps集成SpringBoot项目

目录 一、安装Gitlab 1、安装并配置Gitlab 1.1 、下载安装包 1.2、安装 1.3、修改配置文件 1.4、更新配置并重启 2、配置 2.1、修改密码 2.2、禁用注册功能 2.3、取消头像 2.4、修改中文配置 2.5、配置 webhook 3、卸载 二、安装镜像私服Harbor 1、下载安装包 2、…

UE5之5.4 第一人称示例代码阅读1 FirstPersonProjectile

既然如此,这几个文件都看看 先看看FirstPersonProjectile头文件 定义了几个函数 然后是两个component 这个projectilemovement应该是控制物理运动的 看看CPP文件 sphere那个就创建了一个subobject,初始化了一下,然后这里 CollisionComp-&g…

Maven 项目构建打包,如何引入本地 Jar 包?

上一篇讲到 Maven 离线仓库的使用,反响不错很多人收藏,这一篇还是继续聊 Maven 。假如你发现某开源项目有个 bug 影响到自己的系统,但官方还没修复,自己定位到了本地修改打了包先应急用,那么如何在其他项目上使用该包&…

985研一,转嵌入式好还是后端开发好?

有个老铁问,985研一,转嵌入式好还是后端开发好? 我认为,这学历,两个随便挑,我说的,从趋势来看,更建议嵌入式,走供应链上游,芯片原厂、新能源车企、军工或者搞…

Python画图|极坐标下的柱状图输出

【1】引言 前序学习了极坐标下的散点图输出,可通过下述链接直达: 西猫雷婶-CSDN博客 受此启发,我们继续自主探索极坐标下的柱状图输出。 【2】代码探索 其实柱状图和散点图画图的主要区别,可以理解为调用函数不同。 柱状图调…

Golang | Leetcode Golang题解之第515题在每个树行中找最大值

题目: 题解: func largestValues(root *TreeNode) (ans []int) {if root nil {return}q : []*TreeNode{root}for len(q) > 0 {maxVal : math.MinInt32tmp : qq nilfor _, node : range tmp {maxVal max(maxVal, node.Val)if node.Left ! nil {q …

stm32单片机个人学习笔记12(DMA直接存储器存取)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…

若依学习 后端传过来的数据在控制台打印为空

导言: 在做若依二次开发时遇到个没见过的bug,用了一些时间排,发现有自己没学过的东西。所以记录一下。后端用的是c#的asp.net core 问题描述: 后端穿过来的有数据的参数(数组)roleIds在控制台打印为空 后端字段定义: 后端数据: 前…