引导和服务(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)加载新服务让系统识别,并开关服务查看服务状态

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

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

相关文章

操作系统(第五周 第一二堂总结)

目录 回顾 前景知识 概述 定义 进程和线程的关系 进程和线程的区别 线程优缺点 优点: 缺点: 易混概念 线程实现方式 线程的类型: ​编辑 多线程模型: 线程函数 头文件: 线程创建函数: 线…

vscode i18n Ally插件配置项

.vscode文件: {"i18n-ally.localesPaths": ["src/lang"], //显示语言, 这里也可以设置显示英文为en,// 如下须要手动配置"i18n-ally.keystyle": "nested", // 翻译路径格式 (翻译后变量格式 nested&#xff1a…

氟化钡与盐酸反应不

结论:反应 氟化钡 名称   中文名称:氟化钡   英文别名:Bariumfluoride 化学式   BaF2 相对分子质量   175.32 性状   无色透明立方结晶或白色粉末。溶于盐酸、硝酸、氢氟酸和氯化铵溶液,微溶于水。 相对密度4.83。 熔…

MongoDB 使用

1 引用依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>2 配置文件配置mongodb资料 # MongoDB连接信息 spring.data.mongodb.host 192.168.23.…

(二)使用VS2022克隆下载C++自制植物大战僵尸游戏教程

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/uzrnw 本文将介绍如何使用VS2022克隆下载《植物大战僵尸C自制版本》。 Gitee项目地址&#xff1a; Gitee仓库地址https://gitee.com/GITLZ/PlantsVsZombies Github项目地址&#xff1a; Github仓库地址https://github…

【JS】querySelectorAll和getElementsByClassName

现有一段代码&#xff0c;li的类名均为item&#xff0c;有一按钮可动态添加类名为item的li。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge…

【C++从练气到飞升】07---内存管理

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 一、 C/C内存分布 二、 C语言中动态内存管理方式 三、 C中动态内存管理 1. new/delete操作内置类型 2. new和delete操作…

前端二维码工具小程序:营销裂变的好助手

一、摘要 在数字化营销日益盛行的今天&#xff0c;如何以新颖、高效的方式吸引用户&#xff0c;成为了每一个营销者所追求的目标。前端二维码工具小程序&#xff0c;作为一款集二维码生成、AI助手与绘图画画功能于一体的综合性工具&#xff0c;不仅为营销人员提供了全新的思路…

0101tomcat部署war访问mysql失败-容器间通信-docker项目部署

文章目录 一、简介二、部署1、mysql数据迁移2、docker部署redis3、docker部署tomcat并运行war包 三、报错四、解决1 分析2 解决 结语 一、简介 最近参与开发一个项目&#xff0c;其中一部分系统需要迁移。从阿里云迁移到实体服务器&#xff0c;使用docker部署。系统使用Java语…

openssl密钥证书管理(Key and Certificate Management)

前言 前两日应别人要求提供一份CSR文件过去&#xff0c;方便他们生成相关证书&#xff0c;对于这一块本来也不熟&#xff0c;于是找到openssl官网&#xff0c;想找找相关的教程看看&#xff0c;一番小找&#xff0c;果有收获&#xff0c;是个宝藏&#xff0c;源文档在这…

Mysql-模糊匹配度排序分页

Mysql-模糊匹配度排序分页 抛出问题 在使用模糊匹配分页的时候想根据匹配度高进行排序应该如何实现呢&#xff1f; 上面是添加的模拟数据&#xff0c;根据匹配度高的情况下张三的优先级肯定是最高的&#xff0c;首先直接使用模糊搜索分页看看效果吧。 很明显的可以看到&#…

【解决】Spring Boot创建项目常见问题

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;Spring学习之路&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 idea无maven选项 无效发行版17 类⽂件具有错误的版本 61.0, 应为 …

海外云手机为什么适合社媒运营?

如今&#xff0c;社媒营销如果做得好&#xff0c;引流效果好的账号&#xff0c;可以用来带货变现&#xff0c;而外贸、品牌出海也同样都在做社媒营销&#xff0c;Tik Tok、facebook、ins等热门的海外社媒平台都是行业密切关注的&#xff0c;必要的时候&#xff0c;大家会使用海…

「51媒体」权重高新闻源央级媒体邀约资料有哪些?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 权重高的央级媒体邀约资源包括了中国一些最具影响力和权威性的新闻机构。具体如下&#xff1a; 人民日报&#xff1a;作为中国共产党中央委员会的机关报&#xff0c;人民日报具有极高的权…

硬件测试学习——电源纹波测试(2024.04.15)

参考链接1: 测试开关电源的纹波 在此感谢各位前辈大佬的总结&#xff0c;写这个只是为了记录学习大佬资料的过程&#xff0c;内容基本都是搬运的大佬博客&#xff0c;觉着有用自己搞过来自己记一下&#xff0c;如果有大佬觉着我搬过来不好&#xff0c;联系我删。 硬件测试学习—…

腾讯EdgeOne产品测评体验—Web安全的攻与防:云端防护一体化

目录 简介接入准备EdgeOne购买及接入服务器环境配置添加测试站点关闭防护 安全性能测试XSS攻击sql注入 站点加速测试代码测试通过在线工具对比测试Ping检测tcping网站测速 HTTPS证书 操作步骤优点 总结EdgeOne的优缺点 简介 EdgeOne&#xff0c;作为腾讯云推出的全新CDN解决方…

Linux之 USB驱动框架-usb-skeleton.c usb驱动源码分析(3)

一、usb 驱动框架图 二、 usb 设备经典驱动&#xff1a;usb-skeleton.c 驱动 路径&#xff1a; drivers/usb/usb-skeleton.c USB骨架程序可以看做一个最简单的USB设备驱动的实例&#xff0c;其分析流程大致如下&#xff1a; static struct usb_driver skel_driver { …

揭示边缘计算网关的市场价格趋势(购买指南)-天拓四方

在数字化转型的大潮中&#xff0c;边缘计算网关作为连接云端与终端设备的核心节点&#xff0c;其重要性日益凸显。然而&#xff0c;面对市场上琳琅满目的边缘计算网关产品&#xff0c;对于许多企业和个人用户来说&#xff0c;边缘计算网关的价格成为选择产品时的重要考量因素。…

KT-105小动物人工呼吸机

咳咳&#xff0c;请各位小伙伴们注意啦&#xff01;我们要聊的主题可是相当高大上——小动物呼吸机&#xff01; 我们得先了解一下什么是小动物呼吸机。这可不是一般的机器哦&#xff0c;它是一种实验设备&#xff0c;主要用于各种各样的科学研究实验中。比如&#xff0c;在基…

【C++类和对象】类和对象的引入

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…