您当前的位置:首页 > 计算机 > 系统应用 > Linux

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

时间:03-23来源:作者:点击数:

Linux中service的概念

在Linux操作系统中,服务(Service)是一个基本概念,它通常指的是运行在后台的、持续提供特定功能或资源给系统内部组件或者网络上的客户端程序。

这些服务是系统正常运行和提供各种功能的关键组成部分,它们可以按照预定义的启动顺序自动加载,并在整个系统运行期间保持活动状态。

Linux中常见的service

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

  1. 系统基础服务
    • systemd:现代Linux发行版普遍采用的初始化系统,负责启动、停止和管理系统中的各种服务及进程。
    • cron 或 anacron:定时任务调度服务,用于按照预定时间执行命令或脚本。
    • syslog 或 rsyslog:日志记录服务,收集并管理系统的各种日志信息。
    • networking 或 network-manager:网络配置与管理服务,负责系统网络接口的启动和连接设置。
  2. 网络服务
    • sshd:安全外壳(SSH)服务器,提供远程登录、文件传输等功能。
    • httpd 或 nginx:Web服务器,用于托管网站内容和服务HTTP请求。
    • dhcpd:动态主机配置协议(DHCP)服务器,自动分配IP地址给局域网内的客户端设备。
    • bind 或 dnsmasq:域名系统(DNS)服务器,处理域名解析请求。
    • smtpd(例如Postfix或Exim):邮件发送服务,实现电子邮件的发送功能。
  3. 数据库服务
    • mysqld 或 mariadb-server:MySQL或MariaDB数据库服务器。
    • postgresql:PostgreSQL数据库服务器。
    • mongodb:MongoDB文档型数据库服务器。
  4. 文件共享服务
    • nfs-server:网络文件系统(NFS)服务器,允许网络中的其他计算机通过网络挂载并访问本地文件系统。
    • samba:SMB/CIFS文件共享服务,支持Windows和其他操作系统之间的文件和打印共享。
  5. 身份验证与授权服务
    • ldap 或 slapd:轻量级目录访问协议(LDAP)服务器,用于集中式用户和组账户管理。
    • krb5 或 kdc:Kerberos身份验证服务,提供网络安全认证。
  6. 虚拟化服务
    • libvirtd 或 virt-manager:基于libvirt的虚拟机管理工具及相关服务。
  7. 容器管理服务
    • docker:流行的容器引擎,用于部署和运行应用程序的容器化环境。
    • containerd 或 cri-o:容器运行时环境服务,为容器提供底层支持。
  8. 监控与性能分析
    • snmpd:简单网络管理协议(SNMP)守护程序,提供网络设备状态监测。
    • prometheus 或 node_exporter:监控与警报系统,收集并展示系统和应用指标。
  9. 安全相关服务
    • firewalld 或 iptables:防火墙服务,控制进出系统的网络流量。
    • fail2ban:防止恶意登录尝试的安全工具。
    • uwsgi 或 apache 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服务的总结,希望对大家有所帮助。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门