Linux系统之systemctl管理服务及编译安装配置文件安装实现systemctl管理服务

目录

[一.systemctl 管理服务](#一.systemctl 管理服务)

1.systemctl管理

2.设置服务卡机自启动或开机不启动

二.编译安装配置文件编写使得可以使用systemctl管理

1、编写配置文件原因

2、添加配置文件实现systemctl管理服务


一.systemctl 管理服务

1.systemctl管理

基本格式: systemctl [控制类型] 服务1、服务2(可多个)

控制类型

start--启动服务

stop--停止服务

status--查看服务状态

restart--重启服务

reload--热加载服务,只读取配置文件不停止服务

2.设置服务卡机自启动或开机不启动

① systemctl enable --now httpd 开机自启动并现在启动该服务

②systemctl disable --now httpd 开机不自启并现在停止该服务

二.编译安装配置文件编写使得可以使用systemctl管理

1、编写配置文件原因

systemctl管理服务依靠的是/lib/systemd/system配置文件下有对应服务以.service结尾的文件,yum安装或者rpm安装服务时该文件是程序员已经写好了,但是编译安装没有此文件所以需要我们手写才可以通过systemctl来管理服务

2、添加配置文件实现systemctl管理服务

①首先在/lib/systemd/system目录下创建一个对应服务的.service文件,例如我们创建上面安装的httpd.service。

vim /lib/systemd/system/httpd.service

②然后将一下模板复制进去,然后按照备注修改自己的服务安装路径即可,如下。

1.[Unit] #软件描述

2.Description=httpd web #服务的描述

3.[Service] #指定如何启动此程序

4.PIDFile=/opt/httpd/logs/httpd.pid #pid号的配置文件存放位置一般存放在安装服务的logs中,以 上httpd服务编译安装在/opt/httpd中,所以路径更改为/opt/httpd/logs/httpd.pid,httpd.pid文件会 自动创建

5.ExecStart=/opt/httpd/bin/httpd #绝对路径或脚本启动,上述编译安装的服务开启绝对路径为/opt/httpd/bin/httpd httpd为bin下的用于systemctl启动的服务同名文件

6.ExecReload=/bin/kill -s HUP $MAINPID #热加载

7.ExecStop=/bin/kill -s TERM $MAINPID #杀死进程

8.[Install]

9.WantedBy=multi-user.target #在图形界面开启

③配置文件创建完成后保存退出,然后重新加载systemctl的配置并使用systemctl管理服务停止并查看状态,如下。

systemctl daemon-reload #重新加载systemctl配置文件

相关推荐
翼龙云_cloud12 小时前
阿里云云渠道商:如何选择阿里云 GPU 配置方案?
服务器·人工智能·阿里云·云计算
MarkHD12 小时前
智能体在车联网中的应用:第11天 CARLA自动驾驶仿真入门:从零安装到理解客户端-服务器架构
服务器·架构·自动驾驶
旺仔Sec12 小时前
2025年安徽省职业院校技能大赛(高职组)5G组网与运维赛项竞赛样题
运维·5g
凤凰战士芭比Q12 小时前
Jenkins(分布式、用户管理)
运维·分布式·jenkins
代码游侠12 小时前
复习——线程(pthread)
linux·运维·开发语言·网络·学习·算法
极地星光12 小时前
软件发布中.symbols文件夹单独发布全指南:从需求解析到自动化落地
运维·自动化
凯子坚持 c12 小时前
在家搭个私人云音乐库?用 Docker+cpolar 随时随地听歌
运维·docker·容器
!chen12 小时前
让镜像构建更轻量,告别 Docker 依赖
运维·docker·容器
aml258__12 小时前
一、Cisco( OSPF多区域与路由汇总技术实践:ABR优化网络路由表实验)251220
运维·网络·动态路由协议·网络优化·ospf多区域·abr·路由汇总
2503_9301239312 小时前
Docker全阶段详解
运维·docker·容器