【Linux】从新认识Linux 服务(Service)

发布时间:2024年01月23日

Linux中service的概念

在Linux操作系统中,服务(Service)是一个基本概念,它通常指的是运行在后台的、持续提供特定功能或资源给系统内部组件或者网络上的客户端程序。
这些服务是系统正常运行和提供各种功能的关键组成部分,它们可以按照预定义的启动顺序自动加载,并在整个系统运行期间保持活动状态。

Linux中常见的service

Linux中常见的服务很多,但是真正常见和常用的有如下:

  1. 系统基础服务

    • systemd:现代Linux发行版普遍采用的初始化系统,负责启动、停止和管理系统中的各种服务及进程。
    • cronanacron:定时任务调度服务,用于按照预定时间执行命令或脚本。
    • syslogrsyslog:日志记录服务,收集并管理系统的各种日志信息。
    • networkingnetwork-manager:网络配置与管理服务,负责系统网络接口的启动和连接设置。
  2. 网络服务

    • sshd:安全外壳(SSH)服务器,提供远程登录、文件传输等功能。
    • httpdnginx:Web服务器,用于托管网站内容和服务HTTP请求。
    • dhcpd:动态主机配置协议(DHCP)服务器,自动分配IP地址给局域网内的客户端设备。
    • binddnsmasq:域名系统(DNS)服务器,处理域名解析请求。
    • smtpd(例如Postfix或Exim):邮件发送服务,实现电子邮件的发送功能。
  3. 数据库服务

    • mysqldmariadb-server:MySQL或MariaDB数据库服务器。
    • postgresql:PostgreSQL数据库服务器。
    • mongodb:MongoDB文档型数据库服务器。
  4. 文件共享服务

    • nfs-server:网络文件系统(NFS)服务器,允许网络中的其他计算机通过网络挂载并访问本地文件系统。
    • samba:SMB/CIFS文件共享服务,支持Windows和其他操作系统之间的文件和打印共享。
  5. 身份验证与授权服务

    • ldapslapd:轻量级目录访问协议(LDAP)服务器,用于集中式用户和组账户管理。
    • krb5kdc:Kerberos身份验证服务,提供网络安全认证。
  6. 虚拟化服务

    • libvirtdvirt-manager:基于libvirt的虚拟机管理工具及相关服务。
  7. 容器管理服务

    • docker:流行的容器引擎,用于部署和运行应用程序的容器化环境。
    • containerdcri-o:容器运行时环境服务,为容器提供底层支持。
  8. 监控与性能分析

    • snmpd:简单网络管理协议(SNMP)守护程序,提供网络设备状态监测。
    • prometheusnode_exporter:监控与警报系统,收集并展示系统和应用指标。
  9. 安全相关服务

    • firewalldiptables:防火墙服务,控制进出系统的网络流量。
    • fail2ban:防止恶意登录尝试的安全工具。
    • uwsgiapache mod_wsgi:Web应用服务器中间件,用于托管Python等语言编写的Web应用程序。

常见的服务管理方式

命令说明
systemctl status crond查看某个服务的状态
systemctl start crond启动某个服务
systemctl stop crond停止某个服务
systemctl enable crond设置某个服务开机启动
systemctl disable crond移除某个服务开机启动
systemctl restart crond重启某个服务
systemctl status ssh.service

查看SSH服务的状态
在这里插入图片描述

systemctl stop ssh.service
systemctl status ssh.service

停用SSH服务
在这里插入图片描述

systemctl start ssh.service
systemctl status ssh.service

启动SSH服务,并查看服务状态
在这里插入图片描述

Linux中列出service

systemctl list-units

列出当前运行的所有服务、守护进程、挂载点、sockets等unit的状态信息。
在这里插入图片描述

systemctl list-unit-files

用于列出所有的服务、守护进程、定时任务等unit文件及其启动状态。这个命令的输出结果会显示每个unit文件的名称以及它们是否被设置为开机启动。

  • enabled: 表示该unit文件在系统启动时会被自动启动或加载。
  • disabled: 表示该unit文件不会在系统启动时自动启动或加载,但可以手动启动。
  • static: 一些只包含配置信息而不直接启动任何进程的unit文件,如.slice和.target单元,它们通常总是"enabled"状态。
  • masked: 表示该unit文件不仅被禁用了自动启动,还被禁止了所有启动尝试,除非先解除mask。

在这里插入图片描述

systemctl list-units --type=service

列出当前所有运行状态的服务类型unit。这个命令的执行结果将仅显示与服务相关的unit,包括已启动、正在启动、停止或未启动等各种状态的服务。
在这里插入图片描述

systemctl list-dependencies ssh.service 

列出指定服务的所有依赖项和服务间的启动顺序关系。
在这里插入图片描述

systemctl list-dependencies ssh.service --reverse 

通过此命令可以查看哪些服务的运行依赖于SSH服务。

mirror@mirror-Virtual-Machine:~$ systemctl list-dependencies ssh.service --reverse 
ssh.service
● └─multi-user.target
●   └─graphical.target
mirror@mirror-Virtual-Machine:~$ 

Linux中service的特点

具体来说,Linux服务具有以下几个特点:

  1. 持久性:服务通常是长期运行的,不会因为用户注销或终端会话结束而停止运行。

  2. 后台运行:服务不依赖于用户的交互操作,它们在后台作为守护进程(Daemon)执行。

  3. 系统核心功能支持:一些服务直接与内核相关联,比如网络服务、文件系统服务、打印服务等,它们确保了系统的基础设施正常运作。

  4. 管理与控制:Linux系统通过init系统(如Systemd、SysV init或其他init替代品)来管理和控制服务的启动、停止、重启以及查看其运行状态等。

在Linux环境中,服务是为了保证系统及应用软件能够稳定、高效地提供预期功能而不可或缺的部分。

以上就是关于Linux服务的总结,希望对大家有所帮助。

推荐阅读

文章来源:https://blog.csdn.net/weixin_37813152/article/details/135654433
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。