Linux 服务管理和配置

这篇主要是围绕 systemd 的管理和配置,有新的认识会持续更新

一、服务管理

Centos 7 及后续版本

systemd

# 无需重启,重新加载服务 一般用于配置文件变更后
systemctl reload daemon
# 服务的开机自启动管理
systemctl enable/disable daemon
# 服务状态的管理
systemctl start/status/stop/restart daemon
# 服务的依赖关系
systemctl list-dependencies daemon不常用:# 获取当前模式systemctl get-default 			# 设置为纯文本模式		systemctl set-default multi-user.target # 临时切换到文本模式systemctl isolate multi-user.target # 临时切换到UI模式	systemctl isolate graphical.target  	# 禁用服务或者解除禁用systemctl mask/unmask daemon 			# 可以显示目前的所有服务状态
systemctl 
# 帮助文档
man systemctl

异常的服务可能会影响系统开机和关机的时长,如果发现开机或者关机时间过长,建议检查启动日志以及开机后服务状态

# 查看系统启动日志 默认位置
more /var/log/boot.log
# 可以查看失败的服务
systemctl |grep failed 
Centos 6

initd

# 服务状态维护
service daemon start/stop/restart/status
# 服务的自启管理
chkconfig daemon on/off
# 查看服务列表
chkconfig --list daemon
# 服务状态管理,service 无法控制服务时,可以试试这个
/etc/init.d/daemon start/stop/restart/status
# 帮助文档
man service

service 与 inid.d 管理服务的区别

二、服务的相关信息

先找个熟悉的服务 sshd ,看看里面都有些什么吧

详见:man systemctl

systemctl status sshd
* sshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)Active: active (running) since Wed 2020-12-30 16:28:12 CST; 3 months 21 days agoDocs: man:sshd(8)man:sshd_config(5)Main PID: 2593 (sshd)Tasks: 1Memory: 4.5MCGroup: /system.slice/sshd.service`-2593 /usr/sbin/sshd -Dsshd.service - OpenSSH server daemon   # 服务名称 和 注解
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)loaded 								 # 已加载/usr/lib/systemd/system/sshd.service # 服务配置文件路径enabled 							 # 开机自启,优先级比系统预设高vendor preset: enabled               # 系统预设自启
Active: active (running) since Wed 2020-12-30 16:28:12 CST; 3 months 21 days agoactive (running)                     # 活动状态正常since Wed 2020-12-30 16:28:12 CST; 3 months 21 days ago     # 服务启动时间
-2593 /usr/sbin/sshd -D-2593                                # PID进程号2593/usr/sbin/sshd -D                    # 服务执行的命令
Loaded 状态:enabled # 开机自启disabled # 没有开机自启static # 不可以自启,但是可以让其他服务唤醒mask # 不能启动,因为被注销,systemctl unmask daemon可以恢复Active 状态:active (running) # 正常 active (exited) # 仅执行一次就正常结束,目前没有正在运行,无需一直执行active (waiting) # 正在运行中,在等待其他时间才能处理inactive (dead) # 没有运行的服务,一般是stop或者起不来的情况

三、服务配置文件目录

基本概念

service通过daemon程序来实现服务,例如sshd.service 的daemon是sshd程序

服务配置文件路径

自启服务:/etc/systemd/system/

# 部分内容
ls -l /etc/systemd/system/
total 8
drwxr-xr-x. 2 root root   57 Jun  3  2020 basic.target.wants
lrwxrwxrwx. 1 root root    9 Jun  4  2020 ctrl-alt-del.target -> /dev/null
lrwxrwxrwx. 1 root root   37 Jun  4  2020 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x. 2 root root   87 Jun  3  2020 default.target.wants
drwxr-xr-x. 2 root root 4096 Sep 18 09:31 multi-user.target.wantsls -l /etc/systemd/system/multi-user.target.wants/sshd.service
lrwxrwxrwx  1 root root 36 Dec 14 17:03 sshd.service -> /usr/lib/systemd/system/sshd.service# systemctl disable sshd
Removed symlink /etc/systemd/system/multi-user.target.wants/sshd.service.
# systemctl enable sshd
Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.service.

从上述内容可以看出来,这个目录内是大量的服务的软连接文件,里面存放需要自启的服务

实际服务配置文件
systemd 存放服务配置>> /usr/lib/systemd/system/
init.d 存放脚本,旧版本系统>> /etc/init.d

# ls /usr/lib/systemd/system/sshd*
sshd-keygen.service  sshd.service  sshd@.service  sshd.socket常见服务类型:.service : 一般服务类型,也称unit .socket : 内部程序数据交换的插槽服务,主要是 IPC (Inter-process communication) 的传输讯息插槽文件 (socket file) 功能 这种类型的服务通常在监控讯息传递的插槽文件,当有透过此插槽文件传递讯息来说要链接服务时,就依据当时的状态将该用户的要求传送到对应的 daemon, 若 daemon 尚未启动,则启动该daemon 后再传送用户的要求。.target : 执行环境类型 (target unit),其实是一群 unit 的集合.mount/.automount : 文件系统挂载相关的服务 .path : 侦测特定文件或目录类型,比如打印服务.timer : 循环执行的服务,是由 systemd 主动提供的,比 anacrontab 更加有弹性

系统执行过程中所产生的服务脚本
/run/systemd/system/

# ls /run/systemd/system/.slice : 暂不清楚.scope : 暂不清楚
服务配置文件汇总

/usr/lib/systemd/system/
每个服务最主要的启动脚本设定,有点类似以前的/etc/init.d 底下的脚本文件;

/run/systemd/system/
系统执行过程中所产生的服务脚本,这些脚本的优先序要比 /usr/lib/systemd/system/ 高

/etc/systemd/system/
管理员依据主机系统的需求所建立的执行脚本,执行优先序又比 /run/systemd/system/ 高

四、服务配置文件内容

systemd.service 中文手册 译者:金步国

详见:man systemd-system.conf

[Unit] unit 的说明Description 		服务的简单说明Documentation 		相关文档位置:配置文件、说明文件等After 				说明启动顺序,没有强制要求启动Before 				说明启动顺序,没有强制要求启动Requires 			设置依赖服务,** 强制要求依赖服务启动才能启动 **Wants  				说明相关服务,没有强制要求启动Conflicts 			冲突服务设定,相斥服务[Service] 这个项目内主要在规范服务启动的脚本、环境配置文件档名、重新启动的方式等等*Type 说明这个 daemon 启动的方式,会影响到 ExecStart 必须设为 simple, exec, forking, oneshot, dbus, notify, idle 之一*simple 默认值,这个 daemon 主要由 ExecStart 接的指令串来启动,启动后常驻于内存中*forking 由 ExecStart 启动的程序透过 spawns 延伸出其他子程序,来作为此 daemon 的主要服务。原生的父程序在启动结束后就会终止运作。*oneshot simple 类似,不过这个程序在工作完毕后就结束了,不会常驻在内存中dbus 与 simple 类似,但这个 daemon 必须要在取得一个 D-Bus 的名称后,才会继续运作!因此设定这个项目时,通常也要设定 BusName= 才行,会自动添加 Requires=dbus.socket 与 After=dbus.socket 依赖idle 与 simple 类似,意思是,要执行这个 daemon 必须要所有的工作都顺利执行完毕后才会执行。这类的 daemon 通常是开机到最后才执行即可的服务!EnvironmentFile 可以指定启动脚本的环境配置文件或者多个不同的 Shell 变量*ExecStart 就是实际执行此 daemon 的指令或脚本程序1) ExecStartPre (之前) 可以指定启动前的额外参数2) ExecStartPost (之后) 可以指定启动后的额外参数3) 不支持特殊字符,要使用得写入脚本中4) Type=oneshot时,可以使用较为完整的bash语法ExecStop systemctl stop 的执行有关,关闭此服务时所进行的指令ExecReload systemctl reload 有关的指令行为Restart Restart=1时,服务终止后会重启,除非用systemctl强制关闭RemainAfterExit RemainAfterExit=1 时,当daemon所属程序终止后,服务再尝试重启对oneshot服务有帮助TimeoutSec 设置非正常启动或关闭状态下,多久进入强制结束,为避免一些服务会影响系统正常关机,还是考虑添加这个参数KillMode process 当daemon 终止时,只会终止主要的程序 (ExecStart 接的后面那串指令)control-group 由此 daemon 所产生的其他 control-group 的程序,也都会被关闭none 没有程序会被关闭RestartSec 关闭然后重新启动,sleep多久后再重启,默认100ms,实测没有发现延迟[Install] 就是将此 unit 安装到哪个 target 里面去的意思WantedBy 这个设定后面接的大部分是 *.target unit1) 意思是这个 unit 本身是附挂在哪一个 target unit 底下2) 一般来说,大多的服务性质的 unit 都是附挂在 multi-user.target 底下Also 当目前这个 unit 本身被 enable 时,Also 后面接的 unit 也请 enable 的意思Alias 进行一个连结的别名的意思1) 当 systemctl enable 相关的服务时,则此服务会进行连结档的建立2) 例如multi-user.target 与default.target的关系[Socket] 不同的 unit type 就得要使用相对应的设定项目
[Timer] 这五个都是服务类型,内容是一样的
[Mount]
[Path]内容规则:1、设定项目通常是可以重复的,后面设定会覆盖前面的设置,例如同时两个After,只有后面那个After会生效2、设定参数是布尔类型时,可以使用 1/0, yes/on, true/false, on/off3、空白行、开头为 # 或 ; 的那一行,都代表批注 "实例化"服务 服务复用:源文件(模板文件):执行服务名称@.service执行文件:执行服务名称@范例名称.service例如:systemctl start getty@tty8.service

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阶段五:深度学习和人工智能(学习人工智能的应用领域,如自然语言处理,计算机视觉等)

Python是人工智能领域最流行的编程语言之一,它具有简单易学、功能强大、库丰富等优点,因此在自然语言处理、计算机视觉等领域得到了广泛应用。 自然语言处理 自然语言处理是人工智能领域的一个重要分支,它主要研究如何让计算机理解和处理人…

Matlab绘图添加背景色,动态添加背景

Matlab绘图添加背景色,动态添加背景 有没有小伙伴想过绘制这种有背景的曲线图呢?因为矩形是背景,所以要先绘制,然后再绘制曲线,因此,最先想到的思路可能是:先绘制三个背景矩形,然后填…

编译Sqlite3记录

下载源文件: 下载地址:SQLite Download Page 打开QtCreator创建新的工程,选择纯C工程,将main.c删除,将下载的源码解压后的文件复制到并添加到工程中,其中的文件包括:sqlite3ext.h、sqlite3.h、…

云原生之深入解析网络服务Istio、eBPF和RSocket Broker

一、服务治理 ① “服务治理”简介 在微服务时代,一个复杂的应用程序被分解为多个组件化、协作和连接的单元,服务往往会承担越来越多的业务责任,这使得服务治理的难度前所未有,仅仅依靠微服务框架级的治理是不够的,构…

vivado约束方法4

时序约束向导 定时约束向导确定合成或上缺少的定时约束实现的设计。它分析了网表、时钟网络连接和现有的定时限制,以便根据《超快设计方法指南》提供建议用于FPGA和SoC(UG949)。以下11涵盖了三类约束页面,然后是摘要。包括以下步…

uni-app地图标点展示

使用微信小程序框架编写的。它包含一个模板部分和一个脚本部分。 模板部分: <template>: 这是微信小程序中用来定义页面结构的标签。<view>: 微信小程序的基本组件&#xff0c;用来展示内容或布局。<view class"page-body">: 定义了一个页面主体部…

【论文解读】ICLR 2024高分作:ViT需要寄存器

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://arxiv.org/abs/2309.16588 摘要&#xff1a; Transformer最近已成为学习视觉表示的强大工具。在本文中&#xff0c;我们识别并表征监督和自监督 ViT 网络的特征图中的伪影。这些…

福德机械:植保无人机的领航者

亲爱的读者们&#xff0c;欢迎来到福德机械的神奇世界。在这个充满活力和创新的世界里&#xff0c;我们专注于植保无人机的发展与应用&#xff0c;以实现农业现代化、智能化和高效化的目标。植保无人机&#xff0c;作为一种高效、环保和安全的农业工具&#xff0c;已经逐渐成为…

VR播控系统深耕VR教学领域,助力开启未来新课堂

作为提升教育质量的技术之一&#xff0c;VR技术已经逐渐成为培养新一代人才、提升教学质量的重要方式&#xff0c;相比于传统教育&#xff0c;VR技术在教学方面的应用&#xff0c;所带来的变化和效果提升都是非常明显的&#xff0c;尤其是VR播控系统的上线&#xff0c;作为VR教…

HTML---初识CSS

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.CSS概念 CSS是层叠样式表&#xff08;Cascading Style Sheets&#xff09;的缩写。它是一种用于描述HTML文档外观样式的标记语言。通过CSS&#xff0c;开发者可以在不改变HTML标记结构的情况…

Verilog HDL数据类型

1 网络型&#xff08;net型&#xff09;数据 两种驱动方式&#xff1a;在结构描述中将其连接到一个门元件或模块的输出端&#xff1b;或用assign语句对其赋值。 【例】分别调用Verilog HDL提供的门元件和采用assign语句设计一个二输入与非门 input a,b; …

ElasticSearch - networking配置global

版本8.11 单机部署了一个节点 在elasticsearch.yml中 配置了network.host: 8.8.8.8(之前为127.0.0.1) 但启动服务失败 报错信息为: BindTransportException: Failed to bind to 8.8.8.8:[9300-9399] 为啥要配置8.8.8.8 是因为参考的官方说明 Networking | Elasticsearch Gu…

机器学习——特征预处理

【说明】文章内容来自《机器学习入门——基于sklearn》&#xff0c;用于学习记录。若有争议联系删除。 特征预处理就是对数据进行集成、转换、规约等一系列处理&#xff0c;使之适合算法模型的过程。 sklearn提供了preprocessing模块&#xff0c;用于归一化、标准化、鲁棒化、…

STM32--中断使用(超详细!)

写在前面&#xff1a;前面的学习中&#xff0c;我们接触了STM32的第一个外设GPIO&#xff0c;这也是最常用的一个外设&#xff1b;而除了GPIO外&#xff0c;中断也是一个十分重要且常用的外设&#xff1b;只有掌握了中断&#xff0c;再处理程序时才能掌握好解决实际问题的逻辑思…

H3CIE_IS专题

isis与ospf的区别 区域划分&#xff1a; 骨干区域&#xff1a; 网络类型&#xff1a; DR选举 封装&#xff1a; 扩展性&#xff1a;IS-IS的报文 IIH&#xff1a;IS-IS Hello报文&#xff0c;建立和维护邻接关系 LSP&#xff1a;链路状态报文&#xff0c;传递链路状态的详细信…

网络安全等级保护2.0 定级、评测、实施与运维-复习资料

文章目录 一、练习题-11、单选题2、判断题3、填空题/单选题4、多选题 二、练习题-21、单选题2、多选题3、判断题 三、简答题1、ARP地址欺骗的分类、原理是什么&#xff1f;可采取什么措施进行有效控制&#xff1f;2、三级信息系统中&#xff0c;网络安全中的设备安全有哪些检查…

场强定位三角定位技术介绍和算法演示

场强定位&三角定位技术介绍 场强定位和三角定位是无线通信领域中用于确定物体位置的两种重要技术。它们在很多应用场景中&#xff0c;如室内导航、智能家居、紧急救援和军事操作等&#xff0c;发挥着关键作用。 ### 场强定位&#xff08;RSSI定位&#xff09; 场强定位&…

HTML5结构规范

一&#xff0c;getBoundingClientRect&#xff1b; 用于获得页面中某个元素的左&#xff0c;上&#xff0c;右和下分别相对浏览器视窗的位置。 const elTop el.getBoundingClientRect().top;二&#xff0c; Web Worker 当在 HTML 页面中执行脚本时&#xff0c;页面是不可响应的…

使用python脚本部署k8s集群

1.环境规划&#xff1a; 节点IP地址操作系统配置脚本运行节点192.168.174.5centos7.92G2核server192.168.174.150centos7.92G2核client1192.168.174.151centos7.92G2核client2192.168.174.152centos7.92G2 2.运行准备&#xff1a; yum install -y python python-pip pip in…

AI人工智能与云原生:创新科技的完美结合

人工智能&#xff08;AI&#xff09;是当今科技领域的热门话题&#xff0c;而云原生则是一种新兴的软件开发和部署模式。AI人工智能与云原生的结合&#xff0c;为现代技术创新提供了无限的可能性。本文将探讨AI与云原生的关系&#xff0c;并介绍其如何在实际应用中实现协同效应…