服务管理是Linux系统管理员的一个基本工作。现在让我们来看看用System V或者systemd怎么管理服务。 如果你平时大多数都是在管理Windows系统,或者说你是一个Linux管理方面的新手,你最需要学习如何启动,停止和检查服务状态。Linux系统的一些新变化已使Linux服务管理更加复杂。
许多过去在UNIX系统使用的技巧被带到了Linux系统。这里面其中一个是用 System V来启动服务,它也是一直占主导地位的Linux服务管理的方法。 System V和Upstart service management(这是System V最新的一个增强版)通过init脚本管理服务。这些复杂……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
如果你平时大多数都是在管理Windows系统,或者说你是一个Linux管理方面的新手,你最需要学习如何启动,停止和检查服务状态。Linux系统的一些新变化已使Linux服务管理更加复杂。
许多过去在UNIX系统使用的技巧被带到了Linux系统。这里面其中一个是用 System V来启动服务,它也是一直占主导地位的Linux服务管理的方法。
System V和Upstart service management(这是System V最新的一个增强版)通过init脚本管理服务。这些复杂的shell脚本位于/etc/init.d目录,这些脚本可用于启动,停止和监控服务的状态。
那要怎么使用System V来管理服务?很简单,使用service命令行加服务的名称和你要执行的动作。例如,service httpd status可以查看httpd Web服务器当前的状态。这种方案适用于大多数Linux系统,如ubuntu、RHEL,而且大部分系统在内置System V管理的时候并没有公开声明。
System V使用运行级别来确定哪些服务跟随服务器的启动而启动。运行级别runlevel决定着服务器自动启动时服务的状态,用数字来表示。如运行级别5表示服务进入图形模式运行,而运行级别3则表示服务进入命令行模式运行。
添加服务到runlevel服务级别,可以使用chkconfig命令,后面加上服务名称和执行的功能,如chkconfig httpd on ,表示开启httpd服务的自动启动。一般情况下,大多数服务都清楚自己的运行级别,所以没必要添加更多的参数。
Systemd
在过去的一年,大多数Linux系统开始使用systemd来管理服务了。
systemd是一种智能的服务启动方法,它会在服务需求启动的时候自动启动。那么怎么使用systemd来管理服务呢?使用systemctl命令加上要执行的操作,最后是服务名称,如systemctl status httpd (执行完注意看状态输出,如下例)
Listing 1. An example of Linux service availability monitored with systemctl. Note: Some lines are ellipsized, use -l to show in full.
[root@localhost ~]# systemctl status httpd
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
Active: active (running) since Wed 2014-12-17 06:06:21 EST; 3s ago
Main PID: 63117 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─63117 /usr/sbin/httpd -DFOREGROUND
├─63118 /usr/sbin/httpd -DFOREGROUND
├─63119 /usr/sbin/httpd -DFOREGROUND
├─63120 /usr/sbin/httpd -DFOREGROUND
├─63121 /usr/sbin/httpd -DFOREGROUND
└─63122 /usr/sbin/httpd -DFOREGROUND
Dec 17 06:06:21 localhost.localdomain httpd[63117]: AH00558: httpd: Could not reliably determine the se...age
Dec 17 06:06:21 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
和系统直接显示journald这个日志服务一样, systemctl显示当前服务状态的更详细信息。Service httpd status只能查看服务的状态,如只显示如果服务是否处于运行状态,而systemctl status httpd则可以显示整个服务的子线程,关联进程状态等更详细的信息。
使用systemctl启动和停止服务非常简单。例如,使用systemctl start httpd可以启动httpd,或systemctl stop httpd可以停止httpd服务。
Systemd同时去掉了运行级别的区分。管理服务只需要通过systemctl enable 服务名和systemctl disable 服务名来启用和禁用服务。例如,如果您的Web服务器要在重新启动服务器后可用,用systemctl enable httpd命令就可以了。
相关推荐
-
托管OpenStack私有云能够获得支持or单打独斗?
OpenStack私有云托管作为一种服务可以简化企业的部署和运营,并强调了云计算的优势,而非Linux的优化……
-
从零开始构建属于自己的Linux发行版
当你从头开始构建Linux,就可以充分和完整地了解Linux平台。Linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。
-
使用Red Hat或Debian包管理器简化Linux管理
Linux软件包管理使用的软件库,它提供了软件包的安装源。Red Hat和Debian的软件包管理器功能类似,但结构上的差异将影响Linux管理。
-
关于apt-get:非Linux管理员应该知道的那些事
Apt-get是广泛应用在Unix和Linux系统中的应用程序管理器,Windows和Linux管理员也可以受益于其功能。