引导和服务(2)

服务

1.systemd服务的简要介绍

(1)对比5 6 可以解决依赖关系并行启动

(2)按需启动

(3)自动解决依赖关系

负责在系统启动或运行时,激活系统资源,服务器进程和其它进程

2.Systemd新特性

1.系统引导时实现服务并行启动,2.按需启动守护进程,3.自动化的服务依赖关系管理,4.同时采用socket式与D-Bus总线式激活服务,5.socket与服务程序分离,6.向后兼容sysv init脚本,7.使用systemctl 命令管理,systemctl命令固定不变,不可扩展,非由systemd启动的服务,8.systemctl无法与之通信和控制,9.系统状态快照

systemd 核心概念:unit

unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听

socket、保存的系统快照以及其它与init相关的信息

3.systemd管理的程序

(1)系统必要的程序

(2)yum  rpm  安装的程序

(3)编译安装的程序,需要手写配置文件后才可以

4.Systemd单元类型

单元类型护展名说明
Service.service描述一个系统服务软件
Socket.socket描述一个进程间通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述一个文件系统的挂载点
Automoun.automount描述一个文件系统的自动挂载点
Swap.swap描述一个内存交换设备或目录
Timer.timer描述一个定时器(用于实现类似cron的调度任务)
Path.path描述一个文件系统中文件或目录(path 路径)
Snapshot.snapshot用于保存一个systemd的状态(snapshot 快照)
Scope.scope使用systemd的总线接口以编程的方式创建外部进程
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述一组systemd的单元(target 目标)

5.systemctl 常用命令

命令说明

systemctl   start   服务名

开启服务

systemctl   stop    服务名

  关闭服务

systemctl   status 服务名

查看服务状态

systemctl  restart   服务

 重启服务

systemctl  reload     服务

 重启加载服务,不影响客户使用

systemctl  enable   服务

 开机自启

systemctl  disable   服务

关闭开机自启

systemctl  enable  --now  服务

开机自启,并立即启动

systemctl  disable  --now  服务

关闭开机自启,并立即关闭

systemctl  damon - reload  加载新服务让系统识别

 6.运行级别

运行级别所对应的Systemd目标

运行级别Systemd的target说明
0target关机状态,使用该级别时会关闭主机
1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护
2multi-user.target用户定义/域特定运行级别。默认等同于3
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别
4multi-user.target用户定义/域特定运行级别。默认等同于3
5garphical.target图形界面的多用户模式,提供了图形桌面操作环境
6reboot.target重新启动,使用该级别时将会重启主机

runlevel 查看目前的运行级别

[root@localhost ~]# runlevel
N 5

N:代表没有切换过级别

5:图形界面,当前级别

输入init  3

7.service  unit  文件格式

unit 格式说明:

(1)以 “#” 开头的行后面的内容会被认为是注释

(2)相关布尔值,1、yes、on、true 都是开启,0、no、off、false 都是关闭

(3)时间单位默认是秒,所以要用毫秒(ms)分钟(m)等须显式说明

service unit file文件通常由三部分组成:

(1)[Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等

(2)[Service]:与特定类型相关的专用选项;此处为Service类型

(3)[Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项

Unit段的常用选项:

(1)Description:描述信息

(2)After:定义unit的启动次序,表示当前unit应该晚于哪些unit启动,其功能与Before相反

(3)Requires:依赖到的其它units,强依赖,被依赖的units无法激活时,当前unit也无法激活

(4)Wants:依赖到的其它units,弱依赖

(5)Conflicts:定义units间的冲突关系

Service段的常用选项:

Type:定义影响ExecStart及相关参数的功能的unit进程启动类型

      *  simple:默认值,这个daemon主要由ExecStart接的指令串来启动,启动后常驻于内存中

      *forking:由ExecStart启动的程序透过spawns延伸出其他子程序来作为此daemon的主要服务。原生父程序在启动结束后就会终止

      *oneshot:与simple类似,不过这个程序在工作完毕后就结束了,不会常驻在内存中

      *dbus:与simple类似,但这个daemon必须要在取得一个D-Bus的名称后,才会继续运作.因此通常也要同时设定BusNname= 才行

       *notify:在启动完成后会发送一个通知消息。还需要配合 NotifyAccess 来让 Systemd 接收消息

       *idle:与simple类似,要执行这个daemon必须要所有的工作都顺利执行完毕后才会执行。这类的daemon通常是开机到最后才执行即可的服务

EnvironmentFile:环境配置文件

ExecStart:指明启动unit要运行命令或脚本的绝对路径

ExecStartPre: ExecStart前运行

ExecStartPost: ExecStart后运行

ExecStop:指明停止unit要运行的命令或脚本

Restart:当设定Restart=1 时,则当次daemon服务意外终止后,会再次自动启动此服务

RestartSec: 设置在重启服务( Restart= )前暂停多长时间。 默认值是100毫秒(100ms)。 如果未指

定时间单位,那么将视为以秒为单位。 例如设为"20"等价于设为"20s"。

PrivateTmp:设定为yes时,会在生成/tmp/systemd-private-UUID-NAME.service-XXXXX/tmp/目录

Install段的常用选项:

Alias:别名,可使用systemctl command Alias.service

RequiredBy:被哪些units所依赖,强依赖

WantedBy:被哪些units所依赖,弱依赖

Also:安装本服务的时候还要安装别的相关服务

8.实验

使得nginx能够被systemd管理

8.1 centos6,使用chkconfig

(1)编译安装

(2)建立软连接

(3)编辑脚本,添加权限,将nginx服务加入

脚本:

#!/bin/bash 
#chkconfig: - 99 20 
#description:Nginx Service Control Script 
PROG="/usr/local/nginx/sbin/nginx" 
PIDF="/usr/local/nginx/logs/nginx.pid" 

case "$1" in
start) $PROG 
;; 
stop) 
kill -s QUIT $(cat $PIDF) 
;; 
restart) 
$0 stop $0 start
;; 
reload) 
kill -s HUP $(cat $PIDF) 
;;
*) echo "Usage: $0 {start|stop|restart|reload}" 
exit 1 
esac 
exit 0

8.2centos7 使用systemctl 

 (1)编译安装

(2)建立软链接

(3)编写配置文件

vim  /lib/systemd/system/nginx.service 

(4)加载新服务让系统识别,并开关服务查看服务状态

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

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

相关文章

Python 处理地理空间异常值:基于 MAD 的简单方法

就像任何其他数据一样,在处理地理空间数据时,识别和纠正异常值是数据准备中的关键步骤,可确保任何后续分析的准确性。异常值可能会严重扭曲空间分析的结果,从而导致错误的结论。虽然还有其他方法可以解决此问题,但处理这些异常值的一种直接有效的方法是使用中值绝对偏差 (…

第十一届土木与城市工程国际会议(ICCUE 2024)即将召开!

第十一届土木与城市工程国际会议(ICCUE 2024)将于2024年8月20-22日在意大利罗马召开。土木与城市工程,作为人类社会发展的重要基石,承载着推动城市繁荣、提升人民生活质量的重任。ICCUE 2024的召开,旨在搭建一个国际化…

HDLbits 刷题 --Mux2to1

Create a one-bit wide, 2-to-1 multiplexer. When sel0, choose a. When sel1, choose b. 译: 创建一个1位宽的2对1多路复用器。当sel0时,选择a。当sel1时,选择b。 个人解法: module top_module( input a, b, sel,output out …

IO流-IO框架

简介 java的IO流操作提供了最简单的操作&#xff0c;第三方基于日常使用习惯&#xff0c;写了很多IO框架&#xff0c;更加方便操作避免重复造轮子&#xff0c;提高开发效率 Commons-io 简介 Commons-io是apche提供的IO操作的小框架 部分常用的API 引入依赖 <dependency>…

mbti,ESFP型人格的心理问题分析

什么是ESFP型人格&#xff1f; ESFP分别代表的是外向&#xff0c;实感&#xff0c;情感和依赖&#xff0c;ESFP型人格则是一种性格上活泼开朗&#xff0c;富有同情心的一种性格&#xff0c;具有这种人格的人在日常生活当中&#xff0c;社交能力十分突出&#xff0c;活泼开朗&a…

高级IO和5种IO模型

目录 1. 高级IO1.1 IO的基本概念1.2 OS如何得知外设当中有数据可读取1.3 OS如何处理从网卡中读取到的数据包1.4 IO的步骤 2. 五种IO模型2.1 利用钓鱼来理解2.2 阻塞IO2.3 非阻塞IO2.4 信号驱动IO2.5 IO多路转接2.6 异步IO 3. 高级IO的概念3.1 同步通信 VS 异步通信3.2 阻塞 VS …

《剑指 Offer》专项突破版 - 面试题 107 : 矩阵中的距离(C++ 实现)

题目链接&#xff1a;矩阵中的距离 题目&#xff1a; 输入一个由 0、1 组成的矩阵 M&#xff0c;请输出一个大小相同的矩阵 D&#xff0c;矩阵 D 中的每个格子是矩阵 M 中对应格子离最近的 0 的距离。水平或竖直方向相邻的两个格子的距离为 1。假设矩阵 M 中至少有一个 0。 …

JavaEE:HTTP协议

基本内容 网站 后端&#xff08;HTTP服务器&#xff09; 前端&#xff08;浏览器&#xff09;&#xff0c;而后端和前端都需要遵循HTTP协议 HTTP属于超文本传输协议&#xff0c;存在于应用层 文本&#xff1a;一般能在utf8或者gbk上找到的合法字符串 超文本&#xff1a;不仅…

Jmeter 性能-死锁问题定位+分析

1、环境搭建 ①准备脚本&#xff0c;执行压测 ②用Jstack 打印日志 jstack 112759 >dead.log ③下载日志到本地 sz dead.log 2、问题定位 ①打开dead.log&#xff0c;搜索deadlock ②查看死锁的线程 ③查看死锁位置 3、问题分析 ①下载死锁的类文件 Sz CaseControlle…

为什么公共云的弹性能力很难被发挥出来?

作者&#xff5c;王小瑞 AutoMQ 联合创始人 & CEO 云计算通过资源池化实现单位资源成本更优&#xff0c;使企业能够将 IDC 建设、基础软件研发和运维等工作外包给云厂商&#xff0c;从而更专注于业务创新。资源池不仅包括服务器&#xff0c;还包括人才。云厂商集聚了优秀…

Java链式编程

一&#xff1a;链式编程 可以简化编程。代码简洁。 定义&#xff1a; 链式编程&#xff1a;顾名思义&#xff0c;链子嘛。它是一种编程范式&#xff0c;它允许将多个函数或操作连接在一起&#xff0c;形成一个链条&#xff0c;以执行复杂的操作。 优点&#xff1a; 编程性…

酒店水电智能化管理解决方案

在酒店行业中&#xff0c;水电能源的高效管理是实现可持续发展与降低运营成本的关键。酒店水电智能化管理解决方案通过运用先进技术&#xff0c;实现了对酒店水电资源的高效、智能监控与管理。本文将从解决方案的背景、核心技术以及带来的效益三个方面全面介绍该解决方案。 解…

快速掌握乡村振兴展厅设计要点,打造令人瞩目的展示效果!

基于数字多媒体技术研发的多媒体互动装置&#xff0c;给展览展示行业带来了巨大的创新和改变&#xff0c;这种将现代科技与传统展厅相融合的展示形式&#xff0c;做到了一馆多用的功能建设&#xff0c;而这一特性也为乡村文化和历史传承提供了更好的平台。那么&#xff0c;下面…

keil创建单片机工程

一、创建工程 打开Keil uVision4&#xff0c;依次选择 Project—>New uVision4 Project&#xff0c;选择工程保存路径及填写工程名称&#xff0c;如下图 然后点“保存”。在Select a CPU Data Base File中选择"STC MCU Database"&#xff0c;点 "OK"&am…

【muzzik 分享】关于 MKFramework 的设计想法

MKFramework是我个人维护持续了几年的项目&#xff08;虽然公开只有一年左右&#xff09;&#xff0c;最开始由于自己从事QP类游戏开发&#xff0c;我很喜欢MVVM&#xff0c;于是想把他做成 MVVM 框架&#xff0c;在论坛第一个 MVVM 框架出来的时候&#xff0c;我的框架已经快完…

拉普拉斯金字塔的频谱分析

1. 基本分析 拉普拉斯金字塔分解&#xff0c;主要由以下步骤组成&#xff1a; 对输入图像 L0 进行低通滤波&#xff0c;其中常采用高斯滤波&#xff1b;对低通滤波后的图像进行 1/2 倍率的下采样&#xff0c;这里的下采样通常是指直接取偶行且偶列&#xff08;以 0 开始计&am…

惯用Python的5个技巧(循环)

在这篇文章中&#xff0c;你将看到5种方法可以使你的python循环更习惯&#xff0c;运行得更快&#xff0c;内存效率更高。 在我看来&#xff0c;Python是计算机科学中最简单、最通用的语言之一。如果你正确地编写python代码&#xff0c;很难区分python代码和伪代码。但有时&…

免单优选电商模式:激发购买欲望的创新销售策略

免单优选电商模式&#xff0c;作为一种创新的销售策略&#xff0c;其核心在于通过价格优惠、渐进式激励和社交网络结合&#xff0c;有效刺激消费者的购买行为&#xff0c;进而推动销售业绩的快速增长。 一、合法合规&#xff0c;规避多层次奖励风险 该模式坚持合法合规的运营原…

【从浅学到熟知Linux】进程控制下篇=>进程程序替换与简易Shell实现(含替换原理、execve、execvp等接口详解)

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 进程程序替换什么是程序替换及其原理替换函数execlexeclpexecleexecvexecvpexecvpeexecve 替换函数总结实现…

3D视觉引导麻袋拆垛破包 | 某大型化工厂

客户需求 此项目为大型化工厂&#xff0c;客户现场每日有大量麻袋拆垛破包需求&#xff0c;麻袋软包由于自身易变形、码放垛型不规则、运输后松散等情况&#xff0c;无法依靠机器人示教位置完成拆垛。客户遂引入3D视觉进行自动化改造。 工作流程&#xff1a; 3D视觉对紧密贴合…