当前位置: 首页 > article >正文

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


http://www.kler.cn/news/368228.html

相关文章:

  • 嵌入式C语言字符串具体实现
  • itext自定义pdf
  • 使用Python计算相对强弱指数(RSI)进阶
  • 【AI大模型】深入解析 存储和展示地理数据(.kmz)文件格式:结构、应用与项目实战
  • Java面试题十一
  • fetch: 取消请求、读取流、获取下载进度...
  • 如何使用Golang的gomail库实现邮件发送功能
  • 将CSDN博客转换为PDF的Python Web应用开发--Flask实战
  • logback日志导入使用
  • 基于docker-compose编排部署微服务快速开发框架
  • GPIO按键驱动分析与使用:input_dev层
  • 简单的udp程序
  • a50股指期货是什么意思?
  • 高效宿舍管理:Spring Boot实现的学生宿舍信息系统
  • 通过热成像技术在地球之外成长,在教室之外学习
  • linux系统安全:开源的反病毒工具ClamAV的安装配置使用和维护介绍
  • 鸿蒙NEXT开发-应用数据持久化之用户首选项(基于最新api12稳定版)
  • 设计模式4-工厂模式策略模式
  • vue3组件通信--自定义事件
  • Spring Boot Configuration和AutoConfiguration加载逻辑和加载顺序调整
  • MySQL 9从入门到性能优化-慢查询日志
  • 智能财务 | 数据与融合,激发企业财务数智化转型思考
  • 华为odC++一面-面经总结
  • CTF-WEB-PHP魔法函数
  • NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置
  • 洛谷 P2760 科技庄园(多重背包,二进制优化)