搜索
首页运维linux运维Linux服务管理

Linux服务管理

Jun 23, 2017 pm 01:50 PM
服务管理


本文目录:

11.1 服务的概念

11.2 管理独立守护进程

11.3 管理服务的开机自启动

11.4 管理xinetd及相关瞬时守护进程

11.5 CentOS 7上管理服务


CentOS 7和CentOS 6管理服务的方式完全不同。本文先说明CentOS 6上的管理方式,在最后列出CentOS 7上服务管理方式。


11.1 服务的概念

服务是向外提供服务的进程,一般来说都会放在后台,既然要持续不断的提供外界随时发来的服务请求,服务进程就需要常驻在内存中,且不应该和终端有关,否则终端退出服务程序就退出了。另外,要能够接待外界的请求为外界提供服务,那么就需要有个专属于这个服务的"服务窗口",这个服务窗口就是端口号,通过端口号就能找到服务的提供者。

提供服务的一端叫做服务端,向服务端请求服务的叫做客户端。首先,服务端启动服务进程,此时将开放对应的端口号;然后客户端指定服务端IP地址和端口号向该服务端发起请求,服务端所在主机的内核接收到请求数据包,然后分析数据包发现请求的是某某端口号,内核知道该端口号是哪个应用程序监听的端口,所以将请求报文发送给对应的应用程序,应用程序收到报文后,将和客户端建立连接,并进行数据传输。

另外需要注意的是,并非所有服务都总是提供端口号的,例如xinetd这个服务,只有在需要的时候才接管相应的端口,如rsync监听端口为222时,那么请求rsync时,xinetd在监听过程中的端口号就是222。在不被请求的时候,xinetd是没有端口号的。

 

在Linux中,服务分为独立守护进程和超级守护进程。独立守护进程是自行监听在后台的,基本上所有的服务都是独立守护进程类的服务。超级守护进程专指xinetd这个服务,这个服务代为管理着一些特殊的服务,这类服务在被请求的时候才会由xinetd通知它启动服务,服务提供完毕后就关闭服务,这类服务称为瞬时守护进程,即只存在于瞬时。

但要明白,超级守护进程xinetd本身是一个常驻内存的独立守护进程,因为它要监听来自外界对其管理的瞬时守护进程的请求。只不过一般不工作的时候,xinetd不占用端口号,在工作的时候它占用被请求的瞬时守护进程的端口号,并处于监听状态。


11.2 管理独立守护进程

在CentOS 6上,所有的服务脚本都在/etc/rc.d/init.d/目录下,/etc/init.d/是它的软链接。在此目录下的脚本都是LSB风格的脚本,它们基本上都能接受start/stop/restart/reload/status等参数。

[root@xuexi tmp]# ls /etc/init.d
abrt-ccpp         cpuspeed   irqbalance    messagebus  psacct       saslauthd
abrtd             crond      kdump         netconsole  quota_nld    single
abrt-oops         functions  killall       netfs       rdisc        smartd
acpid             haldaemon  lvm2-lvmetad  network     restorecond  sshd
atd               halt       lvm2-monitor  ntpd        rngd         svnserve
auditd            ip6tables  mcelogd       ntpdate     rsyslog      sysstat
blk-availability  iptables   mdmonitor     postfix     sandbox      udev-post

要管理独立守护进程类的服务

/etc/init.d/service_name   restart|start|stop|status    # 方法一
service  service_name    restart|start|stop|status    # 方法二

要让服务能够被service命令管理,将其服务脚本放在/etc/init.d目录下即可。


11.3 管理服务的开机自启动

chkconfig命令能管理/etc/init.d/目录下存在且脚本的内容满足一定条件的服务。

要能让chkconfig管理服务的开机是否自启动行为,只需将脚本放在/etc/init.d目录下,然后在脚本的前部加上chkconfig行和description行。如:

#!/bin/bash

# chkconfig: - 85 15# description: The Apache HTTP Server is an efficient and extensible

这两行必须在所有非注释行的前面,且这两行必须得被"注释"。其中chkconfig行"-"表示适用于运行级别123456上,85表示开机启动时,它的启动顺序为85,15表示关机停止服务时,它的停止顺序为15。description行随便给一点描述信息就可以,但是必须得给"description:"关键字。

然后,就可以有chkconfig来管理服务的开机自启动了。

chkconfig [--add | --del] <name>  # 将/etc/init.d中可以被chkconfig管理的服务添加到chkconfig的管理列表中,或者从列表中删除
chkconfig [--list] [name]         # 列出指定名称的服务的开启自启动信息。name可以使用all来表示列出所有chkconfig管理列表中的服务
chkconfig [--level <levels>] <name> <on|off|reset>  # 将指定名称的服务在指定级别上打开开机自启动或关闭开机自启动功能。
                                                    # reset则表示重置为脚本中指定的级别

当然,除了chkconfig可以管理开机自启动,将启动命令放在/etc/rc.d/rc.local文件中也是可以的。


11.4 管理xinetd及相关瞬时守护进程

11.4.1 管理瞬时守护进程

该类服务不能直接使用service命令来启动。只能去/etc/xinetd.d/目录下的对应文件中进行设置(当然,也可以在/etc/xinetd.conf中配置),然后由xinetd进行管理。

首先安装xinetd程序。

[root@xuexi tmp]# yum -y install xinetd

[root@xuexi tmp]# chkconfig --list
......省略
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off

xinetd based services:
        chargen-dgram:  off
        chargen-stream: off
        daytime-dgram:  off
        daytime-stream: off
        discard-dgram:  off
        discard-stream: offecho-dgram:     offecho-stream:    off
        rsync:          off
        tcpmux-server:  offtime-dgram:     offtime-stream:    off

首先得保证xinetd是已经工作在后台的。

service xinetd start

然后管理瞬时守护进程,该类服务比较特别,其自启动状态和服务运行状态是同步的,也就是说chkconfig设置了其自启动则表示启动该服务,否则为停止该服务。另外,对其指定级别是无效的,它们的启动级别继承与xinetd的启动级别,并且xinetd会接管其触发的瞬时守护进程的端口号。

例如启动rsync这个瞬时守护进程。

chkconfig rsync on

11.4.2 瞬时守护进程的配置

瞬时守护进程受两个配置文件控制,一个是xinetd的配置文件/etc/xinetd.conf提供默认配置,一个是/etc/xinetd.d/下的配置文件针对对应的服务提供配置。

例如配置rsync,以下是/etc/xinetd.d/rsync的默认配置。

[root@xuexi tmp]# vi /etc/xinetd.d/rsync
# default: off      
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync        # 定义rsync服务,名称要和/etc/xinetd.d/下的文件同名
{
        disable         = yes      # yes表示不启动,no表示启动,等价于chkconfig rsync {on|off},所以这里设置后将直接在chkconfig中生效
        flags           = IPv6     # 不用管
        socket_type     = stream   # 这代表的是tcp类型的套接字wait            = no       # 该服务是单线程还是多线程的,表现形式是超出的请求是否进行等待,no表示多线程
        user            = root     # 以什么身份运行rsync
        server          = /usr/bin/rsync # 服务程序
        server_args     = --daemon # 服务程序启动时传递的参数
        log_on_failure  += USERID  # 连接失败的日志记录,+表示在全局对应的条目上新增此处指定的USERID
}

除此之外,还有几个选项:

【访问控制选项】以下两个控制列表中最好不要出现冲突的地址。
only_from:定义允许连接的访问控制列表,支持单IP,CIDR格式和长mask格式的网段,主机名hostname,域DOMAIN(.abc.com)
no_access:定义不允许访问的列表,语法格式同only_from

【监听地址】
bind       = ip_addr
interface  = ip_addr  # 等价于bind

【资源控制】
cps=args1 args2
instances=N
per_source=N

这3个选项的意义如下图。


11.5 CentOS 7上管理服务

service name start    ==> systemctl start name.service

service name stop    ==> systemctl stop name.service

service name restart ==> systemctl restart name.service

service name status  ==> systemctl status name.service

 

查看服务是否激活(在运行中):systemctl is-active name.service

查看所有已经激活                 :systemctl list-units --type service

查看所有服务                        :systemctl list-units --type service --all

 

设置开机自启动:chkconfig name on ==> systemctl enable name.service

禁止开机自启动:chkconfig name off ==> systemctl disable name.service

查看服务是否开机自启动:chkconfig --list name ==> is-enabled name.service

查看所有服务的开机自启动状态:chkconfig --list ==> systemctl list-unit-files --type service

 

回到系列文章大纲:

转载请注明出处:

以上是Linux服务管理的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Linux:看看其基本结构Linux:看看其基本结构Apr 16, 2025 am 12:01 AM

Linux的基本结构包括内核、文件系统和Shell。1)内核管理硬件资源,使用uname-r查看版本。2)EXT4文件系统支持大文件和日志,使用mkfs.ext4创建。3)Shell如Bash提供命令行交互,使用ls-l列出文件。

Linux操作:系统管理和维护Linux操作:系统管理和维护Apr 15, 2025 am 12:10 AM

Linux系统管理和维护的关键步骤包括:1)掌握基础知识,如文件系统结构和用户管理;2)进行系统监控与资源管理,使用top、htop等工具;3)利用系统日志进行故障排查,借助journalctl等工具;4)编写自动化脚本和任务调度,使用cron工具;5)实施安全管理与防护,通过iptables配置防火墙;6)进行性能优化与最佳实践,调整内核参数和养成良好习惯。

了解Linux的维护模式:必需品了解Linux的维护模式:必需品Apr 14, 2025 am 12:04 AM

Linux维护模式通过在启动时添加init=/bin/bash或single参数进入。1.进入维护模式:编辑GRUB菜单,添加启动参数。2.重新挂载文件系统为读写模式:mount-oremount,rw/。3.修复文件系统:使用fsck命令,如fsck/dev/sda1。4.备份数据并谨慎操作,避免数据丢失。

Debian如何提升Hadoop数据处理速度Debian如何提升Hadoop数据处理速度Apr 13, 2025 am 11:54 AM

本文探讨如何在Debian系统上提升Hadoop数据处理效率。优化策略涵盖硬件升级、操作系统参数调整、Hadoop配置修改以及高效算法和工具的运用。一、硬件资源强化确保所有节点硬件配置一致,尤其关注CPU、内存和网络设备性能。选择高性能硬件组件对于提升整体处理速度至关重要。二、操作系统调优文件描述符和网络连接数:修改/etc/security/limits.conf文件,增加系统允许同时打开的文件描述符和网络连接数上限。JVM参数调整:在hadoop-env.sh文件中调整

Debian syslog如何学习Debian syslog如何学习Apr 13, 2025 am 11:51 AM

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

Debian中Hadoop版本怎么选Debian中Hadoop版本怎么选Apr 13, 2025 am 11:48 AM

选择适合Debian系统的Hadoop版本,需要综合考虑以下几个关键因素:一、稳定性与长期支持:对于追求稳定性和安全性的用户,建议选择Debian稳定版,例如Debian11(Bullseye)。该版本经过充分测试,拥有长达五年的支持周期,能够确保系统稳定运行。二、软件包更新速度:如果您需要使用最新的Hadoop功能和特性,则可以考虑Debian的不稳定版(Sid)。但需注意,不稳定版可能存在兼容性问题和稳定性风险。三、社区支持与资源:Debian拥有庞大的社区支持,可以提供丰富的文档和

Debian上TigerVNC共享文件方法Debian上TigerVNC共享文件方法Apr 13, 2025 am 11:45 AM

本文介绍如何在Debian系统上使用TigerVNC共享文件。你需要先安装TigerVNC服务器,然后进行配置。一、安装TigerVNC服务器打开终端。更新软件包列表:sudoaptupdate安装TigerVNC服务器:sudoaptinstalltigervnc-standalone-servertigervnc-common二、配置TigerVNC服务器设置VNC服务器密码:vncpasswd启动VNC服务器:vncserver:1-localhostno

Debian邮件服务器防火墙配置技巧Debian邮件服务器防火墙配置技巧Apr 13, 2025 am 11:42 AM

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用