• Linux服务管理总结


    简介与分类

    系统的运行级别

    运行级别 含义
    0 关机
    1 单用户模式,可以想象为windows的安全模式,主要用于系统修复
    2 不完全的命令行模式,不含NFS服务
    3 完全的命令行模式,就是标准字符界面
    4 系统保留
    5 图形模式
    6 重启动

    使用runlevel查看当前运行级别:

    runlevel 
    // N 5
    

    结果中第一位数是进入当前级别之前的级别,直接进入当前级别时为N;第二位数是当前级别。

    使用init改变运行级别:

    init 5 // 进入图形模型
    init 0 // 关机
    init 6 // 重启
    

    使用init 0init 6不能保证正确关闭当前运行程序,建议使用shut down

    要修改系统的默认运行级别,需要修改/etc/inittab, 编辑:

    id:3:initdefault
    

    服务的分类

    主要分为RPM包默认安装的服务和源码包安装的服务,区别两者是根据安装的路径。RPM包默认安装的服务是系统默认的安装路径,源码包安装的服务是用户自定义的安装路径。

    RPM包默认安装的服务

    • 独立的服务:独立运行在内存中,缺点是占用内存
    • 基于xinetd的服务:守护进行的方式。用户需要访问服务时先经过xinetd,然后访问后台程序,后台程序返回给xinetd,然后再到用户。

    目前xinetd方式基本淘汰。

    在centos下使用命令chkconfig --list可以查看服务自启动状态,可以看到所有RPM包安装的服务,并且可以看到各个服务的自启动状态。

    源码包安装的服务

    自定义安装位置,一般是/usr/local/

    启动与自启动

    • 服务启动:就是在当前系统中让服务运行,并提供功能。
    • 服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而启动的服务。

    使用chkconfig --list查看的各个级别的启动状态是自启动状态,并不知道服务是否开启。

    查看已安装的服务

    RPM包服务: 使用chkconfig命令;源码包服务查看安装位置。注意,chkconfig不能查看源码包服务,包括service ntsysv命令。

    服务与端口

    查看端口与服务的对应:

    vim /etc/service
    

    查看系统中开启的服务:

    netstat -tlunp
    
    • -t: 列出tcp数据
    • -u: 列出udp数据
    • -l: 列出正在监听的网络服务(不包含已经连接的网络服务)
    • -n: 用端口号来显示服务,而不是用服务名
    • -p: 列出该服务的进程ID

    要列出所有的服务(包括本地程序和已经连接的服务):

    netstat -an
    

    RPM包服务管理

    独立的服务管理

    服务默认的安装位置:

    位置 服务
    /etc/init.d/ 启动脚本位置
    /etc/sysconfig/ 初始化环境配置文件位置
    /etc/ 配置文件位置
    /etc/xinetd.conf xinetd配置文件
    /etc/xindetd.d/ 基于xinetd服务的启动脚本
    /var/lib/ 服务产生的数据放在这里
    /var/log/ 日志

    服务的标准启动方式是执行可执行文件:

    /etc/init.d/独立的服务名 start|stop|status|restart
    

    在RedHat系列系统中,可以通过service启动服务。注意,使用service启动的服务路径需要在/etc/init.d/(/etc/rc.d/init.d/)。将源码包服务文件复制到/etc/init.d/路径下可以变成RPM包服务。

    service 独立的服务名 start|stap|status|restart
    

    服务的自启动

    有三种方法可以实现服务的自启动:

    • chkconfig命令
    # 将2345级别下的apache服务自启动
    chkconfig --level 2345 httpd on/off
    
    • 修改/etc/rc.d/rc.local文件。系统会在启动时执行该文件中的所有命令,可以把服务启动的命令写在里面,从而实现服务的自启动。注意,这和第一种方式是不相关的,如果两种方式都实现了自启动,那么服务会在系统启动时启动两次,而第二次启动时会报错。所以,只要使用一种方式。
    • ntsysv命令
    ntsysv
    

    ntsysv和第一种方式实际上是同一种方式,两者会互相影响。

    基于xinetd的服务

    先安装xinetd:

    yum -y install xinetd
    

    服务的启动脚本,如rsync服务:

    vi /etc/xinetd.d/rsync
    
    service rsync{
        flags = true            // 标志为RESUE,设定TCP/IP socket可重用
        socket_type = stream    // 使用TCP协议数据包
        wait = no               // 允许多个链接同时连接
        user = root             // 启动服务的用户为root
        server = /usr/bin/rsync    // 服务的启动程序
        log_on_failure  += USERID  // 登录失败后,记录用户的ID
        disable = no    // 服务不启动
    }
    

    实际使用时只需要修改disable,修改完重启xinetd:

    service xinetd restart
    

    还可以使用命令修改启动:

    chkconfig rsync on 
    ntsysv
    

    注意,基于xinetd的服务启动和自启动是同时进行的,互相影响。

    源码包的服务

    启动

    使用安装的绝对路径,查看源码的安装包说明和启动方式,如启动apache:

    /usr/local/apache2/bin/apachectl    start|stop
    

    rpm包和源码包服务只启动一个,会占用,apache对应的默认页:

    # rpm包
    /var/www/html/index.html
    # 源码包
    /usr/local/apache2/htdocs/index.html
    

    自启动

    修改/etc/rc.d/rc.local或者/etc/rc.local文件,两者是软链接。添加启动命令:

    /usr/local/apache2/bin/apachectl start
    

    源码包服务被服务管理命令识别

    使用service启动:
    软链接绝对路径或者复制文件到目录下:

    ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
    

    让源码包的apache服务能被chkconfig和ntsysv命令管理自启动:
    /etc/init.d/apache添加两条命令

    chkconfig: 35 86 76
    description: source package apache
    

    chkconfig: 运行级别 启动顺序 关闭顺序
    其中启动和关闭顺序可以随便设置,但是不能和/etc/rc3.d/中的重复。

    总结

    image

    Linux服务建议启动:

    服务名称 功能简介 建议
    acpid 电源管理接口。如果是笔记本用户建议开启,可以监听内核层的相关电源事件。 开启
    anacron 系统的定时任务程序。cron的一个子系统,如果定时任务错过了执行时间,可以通过anacron继续唤醒执行。 关闭
    alsasound Alsa声卡驱动。如果使用alsa声卡,开启。 关闭
    apmd 电源管理模块。如果支持acpid,就不需要apmd,可以关闭 关闭
    atd 指定系统在特定时间执行某个任务,只能执行一次。如果需要则开启,但我们一般使用crond来进行循环定时任务。 关闭
    auditd 审核子系统。如果开启了此服务,SELinux的审核信息会写入/var/log/audit/audit.log文件,如果不开启,审核信息会记录在syslog中 开启
    autofs 让服务器可以自动挂在网络中的其他服务器的共享数据,一般用来自动挂载NFS服务。如果没有NFS服务建议关闭 关闭
    avahi-daemon Avahi是zeroconf协议的实现。它可以在没有DNS服务的局域网里发现基于zeroconf协议的设备和服务。除非有兼容设备或使用zeroconf协议,否则关闭。 关闭
    bluetooth 蓝牙设备支持。一般不会在服务器上启用蓝牙设备,关闭它 关闭
    capi 仅对使用ISND设备的用户有用。 关闭
    chargen-stream 同上。 关闭
    cpuspeed 可以用来调整CPU的频率。当闲置时可以自动降低CPU频率来节省电量。 开启
    crond 系统的定时任务。一般的Linux服务器都需要定时任务帮助系统维护。建议开启 开启
    cvs 一个版本控制系统 关闭
    daytime-dgram daytime使用TCP协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期和时间的功能 关闭
    daytime-stream 同上 关闭
    dovecot 邮件服务中POP3/IMAP服务的守护进程。主要用来接收信件,如果启动了邮件服务则开启,否则关闭 关闭
    echo-dgram 服务器回显客户服务的进程。 关闭
    echo-stream 同上 关闭
    firstboot 系统安装完成之后,有个欢迎界面,需要对系统进行初始设定。既然不是第一次启动,关闭它 关闭
    gpm 在字符终端(tty1-tty6)中可以使用鼠标复制和粘贴。 开启
    haldaemon 检测盒支持USB设备。如果是服务器可以关闭,个人机建议开启 关闭
    hidd 蓝牙鼠标、键盘等蓝牙设备检测。必须启动bluetooth服务 关闭
    hplip HP打印机支持,如果没有HP打印机关闭吧 关闭
    httpd apache服务的守护进程。如果需要启动apache就开启 开启
    ip6tables IPv6的防火墙,目前IPv6协议并没有使用,可以关闭 关闭
    iptables 防火墙功能,Linux中防火墙是内核支持功能。这是服务器的主要防护手段,必须开启 开启
    irda IrDA提供红外线设备(笔记本,PDA's,手机,计算器等)间的通讯支持。关闭吧 关闭
    irqbalance 支持多核处理器,让CPU可以自动分配系统中断(IRQ),提高系统性能。目前服务器多是多核CPU,请开启 开启
    isdn 使用ISDN设备连接网络。目前主流的联网方式是光纤接入和ADSL,ISDN已经非常少见,请关闭 关闭
    kudzu 该服务可以在开机时进行硬件检测,并会调用相关的设置软件。建议关闭,仅在需要时开启 关闭
    lvm2-monitor 该服务可以让系统支持LVM逻辑卷组,如果分区采用的是LVM方式,那么应该开启,建议开启 开启
    mcstrans SELinux的支持服务。建议启动 开启
    mdmonitor 该服务用来检测Software RAID或LVM的信息,不是必须服务,建议关闭 关闭
    mdmpd 该服务用来检测Multi-Path设备,不是必须服务 关闭
    messagebus 这是Linux的IPC(Interprocess Communication,进程间通讯)服务,用来在各个软件中交换信息。建议关闭 关闭
    microcode_ctl Intel系列的CPU可以通过这个服务支持额外的微指令集 关闭
    mysqld mysql数据库服务器。如果需要就开启,否则就关闭 开启
    named DNS服务的守护进程,用来进行域名解析。如果是DNS服务器就开启,否则关闭 关闭
    netfs 该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS、Samba等。需要就开启,否则关闭 关闭
    network 提供网络设置功能。通过这个服务来关闭网络,所以开启 开启
    nfs NFS(Network File System)服务,Linux与Linux之间的文件共享服务。需要就开启,否则关闭 关闭
    nfslock 在Linux中如果使用了NFS服务,为了避免同一个文件被不同的用户同时编辑,所以有这个锁服务。有NFS则开启,否则关闭 关闭
    ntpd 该服务可以通过互联网自动更新系统时间,使系统时间永远都准确。需要则开启,但不是必须服务 关闭
    pcscd 智能卡检测服务,可以关闭 关闭
    portmap 用在远程过程调用(RPC)的服务,如果没有任何RPC服务时,可以关闭。主要是NFS和NIS服务需要 关闭
    psacct 该守护进程支持几个监控进程活动的工具 关闭
    rdisc 客户端ICMP路由协议 关闭
    readahead_early 在系统开机的时候,先将某些进程加载如内存整理,可以加快一点启动速度 关闭
    readahead_later 同上 关闭
    restorecond 用于给SELinux监测和重新加载正确的文件上下文,如果开启SELinux则需要开启 关闭
    rpcgssd 与NFS有关的客户端功能。如果没有NFS就关闭吧 关闭
    rpcidmapd 同上 关闭
    rsync 远程数据备份守护进程 关闭
    sendmail sendmail邮件服务的守护进程。如果有邮件服务就开启,否则关闭 关闭
    setroubleshoot 该服务用于将SELinux相关信息记录在日志/var/log/message中,建议开启 开启
    smartd 该服务用于自动检测硬盘状态,建议开启 开启
    smb 网络服务samba的守护进程。可以让Linux和Windows之间共享数据。如果需要则开启 关闭
    squid 代理服务的守护进程。如果需要则开启,否则关闭 关闭
    sshd ssh加密远程登录管理的服务。服务器的远程管理必须使用此服务,不要关闭 开启
    syslog 日志的守护进程 开启
    vsftpd vsftp服务的守护进程。如果需要FTP服务则开启,否则关闭 关闭
    xfs 这个是X Window的字体守护进程。为图形界面提供字体服务,如果不启动图形界面,就不用开启 关闭
    xinetd 超级守护进程。如果有以来xinetd的服务就必须开启。 开启
    ypbind 为NIS(网络信息系统)客户机激活ypbind服务进程。 关闭
    yum-updatesd yum的在线升级服务。 关闭

    总结自慕课网Tony老师的视频教程: https://www.imooc.com/learn/537

  • 相关阅读:
    一个用于录制用户输入操作并实时回放的小工具
    Ubuntu 14.04 下安装wiznote客户端
    lombok @EqualsAndHashCode 注解的影响
    初始化数据库和导入数据
    com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别 serverTimezone设定
    fastjson如何指定字段不序列化
    Mybatis 查询tinyint(1)的数据库字段时会自动转换成boolean类型
    Maven中settings.xml的配置项说明
    logback的使用和logback.xml详解
    解决Eureka Server不踢出已关停的节点的问题
  • 原文地址:https://www.cnblogs.com/suraer/p/9046475.html
Copyright © 2020-2023  润新知