首页 > 其他分享 >systemd管理服务

systemd管理服务

时间:2024-01-08 15:32:19浏览次数:23  
标签:httpd systemd 服务 service 管理 systemctl static

一、systemd简介

Systemd是一款用于Linux操作系统的系统和服务管理工具,在RHEL7之前使用init来初始化系统,从RHEL7之后开始使用systemd来初始化系统,也就是操作系统启动时运行的第一个程序

systemd对比init的优势:

  • systemd是并行启动 init是串行启动
  • systemd启动更快;而init相对较慢
  • init通过脚本的方式来维持系统的启动条目,systemd使用单元进行管理

二、systemctl用法

systemctl是Linux系统中用于管理systemd的命令行工具。它是systemd的一部分,用于控制和管理systemd服务、单元(Unit)以及相关配置

2.1 查看系统的服务单元

[root@localhost ~]# systemctl list-units --type service
UNIT                               LOAD   ACTIVE SUB     DESCRIPTION                                                                  
accounts-daemon.service            loaded active running Accounts Service                                                             
alsa-state.service                 loaded active running Manage Sound Card State (restore and store)                                  
atd.service                        loaded active running Job spooling tools                                                           
auditd.service                     loaded active running Security Auditing Service                                                    
avahi-daemon.service               loaded active running Avahi mDNS/DNS-SD Stack                                                      
bluetooth.service                  loaded active running Bluetooth service                                                            
chronyd.service                    loaded active running NTP client/server  
....
以下省略

以atd服务为例,以上命令执行回显各字段意义如下:

atd.service(服务名)

loaded(服务配置是否正确载入)

active(服务的高级状态)

running(服务低级状态)     

Job spooling tools(服务描述信息)

服务的高级状态与低级状态

高级状态: 服务的总状态,表示服务是否在系统中运行

低级状态: 服务程序的进程状态

或者我们还可以通过以下命令查看服务状态

systemd管理服务_systemd

绿色高亮的字体为服务的状态,active是服务的高级状态,括号里面的是服务的低级状态,running表示服务当前正在运行, exited表示服务已经正确运行过一次,已退出,等待下一次运行,只有运行的那一瞬间才是running状态

2.2 管理开机自启的服务

systemctl  list-unit-files –type service  查看服务的单元文件

[root@localhost ~]# systemctl list-unit-files 
UNIT FILE                                  STATE    
proc-sys-fs-binfmt_misc.automount          static   
-.mount                                    generated
boot.mount                                 generated
dev-hugepages.mount                        static   
dev-mqueue.mount                           static   
home.mount                                 generated
proc-fs-nfsd.mount                         static   
proc-sys-fs-binfmt_misc.mount              static   
run-vmblock\x2dfuse.mount                  enabled  
sys-fs-fuse-connections.mount              static   
sys-kernel-config.mount                    static   
sys-kernel-debug.mount                     static   
tmp.mount                                  disabled 
var-lib-machines.mount                     static   
var-lib-nfs-rpc_pipefs.mount               static   
cups.path                                  enabled  
ostree-finalize-staged.path                disabled 
systemd-ask-password-console.path          static   
systemd-ask-password-plymouth.path         static   
systemd-ask-password-wall.path             static   
session-2.scope                            transient
accounts-daemon.service                    enabled  
alsa-restore.service                       static   
alsa-state.service                         static   
anaconda-direct.service                    static   
anaconda-fips.service                      static   
anaconda-nm-config.service                 static   
anaconda-noshell.service                   static   
anaconda-pre.service                       static   
anaconda-shell@.service                    static   
anaconda-sshd.service                      static   
anaconda-tmux@.service                     static   
anaconda.service                           static   
arp-ethers.service                         disabled 
atd.service                                enabled  
auditd.service                             enabled  
auth-rpcgss-module.service                 static   
autovt@.service                            enabled  
avahi-daemon.service                       enabled  
blivet.service                             static   
blk-availability.service                   disabled 
bluetooth.service                          enabled  
bolt.service                               static   
brltty.service                             disabled 
btattach-bcm@.service                      static   
canberra-system-bootup.service             disabled 
canberra-system-shutdown-reboot.service    disabled 
canberra-system-shutdown.service           disabled 
chrony-dnssrv@.service                     static   
chrony-wait.service                        disabled 
chronyd.service                            enabled  
cni-dhcp.service                           disabled 
cockpit-motd.service                       static   
cockpit-wsinstance-http.service            static   
cockpit-wsinstance-https-factory@.service  static   
cockpit-wsinstance-https@.service          static   
cockpit.service                            static   
colord.service                             static   
configure-printer@.service                 static   
console-getty.service                      disabled 
container-getty@.service                   static   
cpupower.service                           disabled 
crond.service                              enabled

以上回显字段STATE表示服务的状态:

状态

含义

enabled

开机自启

disabled

开机不自启

static

服务不能启动(服务自己不能启动,但是可以被其他服务激活)

masked

服务不能启动(除了服务本身不能启动外,也不能被其他服务激活)一般在服务之间发生冲突时,为了避免冲突的服务引起故障,将某一个服务彻底屏蔽所使用

2.3 服务的管理命令对比

RHEL7 以前

RHEL7 以后

功能

service httpd start

systemctl start httpd

启动服务

service httpd stop

systemctl stop  httpd

停止服务

service httpd restart

systemctl restart httpd

重启服务

service httpd reload

systemctl reload  httpd

重新载入服务的配置文件

chkconfig httpd on

systemctl enable  httpd

服务开机自启

chkconfig httpd off

systemctl disable  httpd

禁用服务开机自启

service httpd status

systemctl status httpd

查看服务的状态(开机和运行的状态)


systemctl is-enable httpd

查询服务的开机状态


systemctl is-active httpd

查询服务的当前状态


systemctl reload-or-restart  httpd

优先载入服务配置,如果不能载入配置,则重启服务


systemctl enable --now httpd

将服务设置为开机自启且当前立即启动


systemctl disable --now httpd

将禁用服务开机自启且当前立即停止服务


systemctl mask httpd

锁定一个服务(服务无法启动)


systemctl unmask httpd

解锁一个服务


systemctl list-dependencies httpd

查询服务的依赖关系

三、systemd启动目标

systemd中的启动目标是用于定义服务或系统单元如何启动的配置文件。它定义了服务或单元的启动顺序、依赖关系和启动参数。 systemd提供了多种启动目标类型,如default.target、multi-user.target、graphical.target等。这些目标类型代表了不同的系统状态和配置级别。

启动目标

功能

graphical.target

图形化桌面模式,系统支持多用户,图形和基于文本的登录

multi-user.target

多用户模式,系统支持多用户,基于文本的登录

rescue.target

救援模式,系统初始化已完成,需要root账户登录

emergency.target

紧急模式,只读挂载根文件系统,需要root账户登录

3.1 设置systemd启动目标

命令

作用

systemctl get-default

查询默认的启动目标

systemctl set-default multi-user.target

设置默认的启动目标

systemctl isolate  graphical.target

临时切换到其他的启动目标,等同于init x

在RHEL7 以前,systemd启动目标对应系统的运行级别,指系统在不同的运行状态下所处的级别。可以通过init命令临时切换运行级别,例如临时切换到图形化桌面环境,即“init 5”,一共有7个运行级别,分别为:

  • 运行级别1:单用户模式。在这个模式下,系统仅允许root用户登录,其他用户无法登录。此模式用于系统维护,例如在忘记root密码时,可以在此模式下修改密码。
  • 运行级别2:多用户模式,但不支持网络服务。在这个模式下,多个用户可以登录系统,但网络服务无法使用。
  • 运行级别3:完全多用户模式。在这个模式下,多个用户可以登录系统,且网络服务正常运行。这是Linux服务器常见的运行级别。
  • 运行级别4:多用户模式,但关闭网络服务。在这个模式下,多个用户可以登录系统,但网络服务被关闭。
  • 运行级别5:图形化桌面模式。
  • 运行级别6:重启模式。在这个模式下,系统会立即重启。
  • 运行级别0:关闭系统。在这个模式下,系统会关闭,立即关机。


运行级别的配置和切换可以通过修改/etc/inittab文件来实现。在这个文件中,可以设置系统的默认运行级别以及其他运行级别的配置。例如,可以将默认运行级别设置为3,即完全多用户模式。

需要注意的是,不同Linux发行版对运行级别的命名和功能可能存在差异。例如,在Debian系统中,运行级别1为单用户模式,运行级别3为完全多用户模式;而在Fedora系统中,运行级别1为单用户模式,运行级别3为多用户模式。

3.2 在系统启动时临时指定启动级别

操作步骤:

  1. 重启系统
  2. 将光标移动到要启动的内核
  3. 按e编译当前条目
  4. 将光标移至以linux开头的行,此为内核命令行
  5. 添加systemd.unit=NAME.target
  6. 按ctrl+x继续启动

例如:系统启动时,指定启动级别为多用户模式,仅当前这一次有效

systemd管理服务_systemctl_02

标签:httpd,systemd,服务,service,管理,systemctl,static
From: https://blog.51cto.com/min2000/9145804

相关文章

  • 使用SSH管理Linux主机
    一、SSH简介SSH(SecureShell)是一种网络协议,用于在不安全的网络上进行安全的数据传输。它通常用于远程登录和远程管理服务器,以及执行命令、上传和下载文件等操作,最常用的是SSHv2版本,SSHv2对算法进行了修复和升级,解决了SSHv1中已知的安全漏洞。SSHv2采用了更强有力的加密算法,如AES(高......
  • Day1 - 大规模Elasticsearch集群管理心得(转)
    转自:https://elasticsearch.cn/article/110 【携程旅行网吴晓刚】 ElasticSearch目前在互联网公司主要用于两种应用场景,其一是用于构建业务的搜索功能模块且多是垂直领域的搜索,数据量级一般在千万至数十亿这个级别;其二用于大规模数据的实时OLAP,经典的如ELKStack,数据规模可能......
  • 用高智能BI挖掘零售利润空间——商业智能、数据分析和需求预测在现代零售管理中的关键
    文章来源:第七在线官方现代零售面临着激烈的市场竞争和日益增长的消费者期望值。无论是实体商铺、电子商务还是其它渠道,零售商都必须时刻掌握各类进销存数据,并结合对流行趋势和未来销售的预期做出最有效的经营决策。这一切都对现代零售商在管理中如何高效整合并分析数据提出了极高的......
  • Lua网络爬虫实战:使用http服务器获取虾皮商品信息的全过程
    这段Lua代码是一个简单的爬虫示例,使用了Lua中的http模块进行网络请求,并设置了代理信息。以下是对代码的一些解释和注意事项:安装http模块:luarocksinstallhttp这个命令用于安装Lua的http模块,以便在程序中使用HTTP请求功能。代理设置:localproxy_host="www.duoip.cn......
  • linux下使用heartbeat做HA集群,把nginx作为HA对应的服务
    通过安装该Linux-HA软件,可以实现Linux双机系统的高可用性解决方案,实现双机系统的热备份,并能够做到双机之间的无缝切换,从而对外提供稳定可靠的服务,最终实现系统高性能RAS(reliability,availability,andserviceability)。这里使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服......
  • 这个开源项目,让你轻松搭建属于自己的云存储服务!
    大家好,我是Java陈序员。我们在工作生活中,难免会有一些学习资料、文档,或者是生活中记录下来的精彩瞬间。大家是如何保存这些文件的呢?可能有些文件仅仅是保存在本地的终端中,手机、电脑等。如果本地存储满了,会考虑将文件上传到云盘中。如果你有自己的服务器,强烈建议你自己搭建一个云......
  • 云智一体,大模型服务的超级工厂
    随着云计算和人工智能技术的快速发展,云智一体已成为新的发展趋势。云智一体将云计算的高效计算能力和人工智能的智能决策能力相结合,为企业提供更高效、智能的服务。在近期的一次演讲中,百度沈抖阐述了云智一体的优势,并提出了打造大模型服务的“超级工厂”的构想。首先,云智一体的优势......
  • 美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推
    一、介绍美食管理与推荐系统。本系统使用Python作为主要开发语言开发的一个美食管理推荐网站平台。网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求,并将用户的相关行为数据保存在数据库中。通过Ajax技术实现前后端的数据通信。创新点......
  • 优化业务系统运维管理:实现更智能的信息化业务系统监控与决策
        在当今高度信息化的时代,业务管理已成为企业成功的关键因素。为了更好地满足不断变化的市场需求,提高企业运营效率,我们推出了一款全新的业务管理工具——监控易。这款工具将助力企业实现更高效、更智能的业务监控与决策。一、业务系统运维列表:全面掌握业务状态    ......
  • 关于消耗服务器带宽的因素
    关于消耗服务器带宽的因素1、网站布局更改:如果更改网站布局,那么网站页面大小就会增加,用户在访问时获取的数据也会越大,那么对于服务器带宽的消耗当然也就会变得更大。2、流量增长:访客增加的情况下,用户浏览页面数据就会增加,也就会加大对带宽的消耗。3、页面增加:当添加更多页面时,浏览......