Linux学习笔记(19) Linux服务管理

1. 服务的分类

Linux服务可分为RPM包默认安装的服务和源码包安装的服务。前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务。xinetd本身是独立的服务,其唯一的功能是管理其他服务。优点是管理的服务不占用内存,缺点是响应缓慢。

(1) 启动和自启动

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

(2) 查询已安装的服务

RPM包安装的服务可通过chkconfig --list命令查看,其作用是查看服务自启动状态。该命令可以看到所有RPM包安装的服务,但看不到源码包安装的服务。

[[email protected] sh]# chkconfig --list
abrt-ccpp       0:off   1:off   2:off   3:on    4:off   5:on    6:off
abrtd           0:off   1:off   2:off   3:on    4:off   5:on    6:off
......

通过查看服务安装位置(一般在/usr/local目录下),可以查看源码包安装的服务。与RPM包安装的服务的区别在于,源码包安装在指定位置,而RPM包安装在默认位置下。

2.  独立服务的管理

RPM包安装的默认位置一般为:

/etc/init.d/-----启动脚本位置

/etc/sysconfig/-----初始化环境配置文件的位置

/etc/-----配置文件的位置

/etc/xinetd.con-----xinetd配置文件

/etc/xinetd.d/-----基于xinetd服务的启动脚本

/var/lib/-----服务产生的数据放在这里

/var/log/-----日志

(1) 独立服务的启动方法有两种:

(1)/etc/init.d/独立服务名 start|stop|restart|status
#查询apache的状态
[[email protected] sh]# /etc/init.d/httpd status
httpd (pid  1514) is running...

(2)service 独立服务名 start|stop|restart|status
#重启apache
[[email protected] sh]# service httpd restart
Stopping httpd: [  OK  ]
Starting httpd: httpd: Could not reliably determine the server‘s fully qualified domain name, using localhost.localdomain for ServerName
[  OK  ]

注:service命令是红帽专有命令,其他的unix系统中的服务操作可使用第一种方法执行。其次,service --status-all命令可以列出所有的RPM包安装服务的状态。

(2) 独立服务的自启动

可以通过三种方法来实现,推荐使用第二种方法。

① chkconfig [--level 运行级别] [独立服务名] [on|off]

例:设置apache自启动

[[email protected] sh]# chkconfig --list | grep httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
[[email protected] sh]# chkconfig --level 2345 httpd on
[[email protected] sh]# chkconfig --list | grep httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

② 修改/etc/rc.local文件,开机时输入账号之前,将会检查该文件,从而实现自启动。

例:在该文件中设置apache服务

[[email protected] sh]# vim /etc/rc.local
#!/bin/sh

# 每次启动时,修改该文件的时间,因此可以查询系统的启动时间
touch /var/lock/subsys/local

# apache自启动
/etc/rc.d/init.d/httpd start

③ 使用ntsysv命令管理自启动(红帽专有)

ntsysv 1.3.49.3 - (C) 2000-2001 Red Hat, Inc.

               ┌──────────────────┤ Services ├──────────────────┐
               │                                                │
               │ What services should be automatically started? │
               │                                                │
               │            [*] abrt-ccpp         ↑             │
               │            [*] abrtd             ?             │
               │            [*] acpid             ?             │
               │            [*] atd               ?             │
               │            [*] auditd            ?             │
               │            [*] autofs            ?             │
               │            [*] blk-availability  ?             │
               │            [*] certmonger        ↓             │
               │                                                │
               │        ┌────┐               ┌────────┐         │
               │        │ Ok │               │ Cancel │         │
               │        └────┘               └────────┘         │
               │                                                │
               │                                                │
               └────────────────────────────────────────────────┘

该命令的好处是不仅可以设置独立服务,也可以管理xinetd服务。

3. 基于xinetd服务的管理

除了不安全的telnet仍在使用xinetd服务进行管理,基于xinetd服务的使用越来越少,因此了解即可。

(1) 安装xinetd和telnet

[[email protected] sh]# yum -y install xinetd
[[email protected] sh]# yum -y install telnet-server
...
[[email protected] sh]# chkconfig --list
......
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off

xinetd based services:
        chargen-dgram:  off
    rsync:                  off
        telnet:                 off
        ......   

当用户访问rsync服务时,将先访问xinetd服务,然后xinetd服务调用rsync服务,rsync服务响应xinetd服务,再由xinetd响应客户端。

(2) xinetd服务的启动

启动telnet。将/etc/xinetd.d/telnet 中的"didable=yes"改为"disable=no"即可,随后重启xinetd服务。查看23端口存在时,telnet服务就启动了。

[[email protected] sh]# vim /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses #       unencrypted username/password pairs for authentication.
service telnet     #服务的名称为telnet
{
        disable = no                   #服务不启动
        flags           = REUSE     # 标志位REUSE,设定TCP/IP socket重用
        socket_type     = stream    #使用TCP协议数据包
        wait            = no    #允许多个连接同时连接
        user            = root    #启动服务的用户为root
        server          = /usr/sbin/in.telnetd    #服务的请程序
        log_on_failure  += USERID    #登录失败后,记录用户的ID
}

[[email protected] sh]# service xinetd restart
Stopping xinetd: [  OK  ]
Starting xinetd: [  OK  ]
[[email protected] sh]# netstat -tlun | grep 23
tcp        0      0 :::23                       :::*                        LISTEN  

(3) xinetd服务的自启动

注意:xinetd服务的启动和自启动是通用的,即执行了启动,意味着自启动也执行了。

# (1) chkconfig telnet on|off
[[email protected] sh]# chkconfig telnet off
[[email protected] sh]# netstat -tlun | grep 23

# (2) ntsysv

4. 源码包安装服务的管理

(1) 源码包安装服务的启动

使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,来查看启动脚本的方法。

例:启动Apache服务的方法:

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

再次使用RPM包安装的apache时,将显示80端口冲突额错误。

(2) 源码包服务的自启动

vi /etc/rc.d/rc.local

/usr/local/apache2/bin/apachectl start

  (3) 让源码包服务被服务管理命令识别

  让源码包的apache服务能被service命令管理启动

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

  让源码包的apache服务能被chkconfig与ntsysv命令管理自启动

vi /etc/init.d/apache

  #指定httpd脚本可以被chkconfig命令管理,格式为chkconfig: 运行级别 启动顺序 关闭顺序

  # 不能与现有的脚本的启动顺序与关闭顺序冲突

  # chkconfig:35 86 76

  # 说明,内容随意

  # description: source package apache    

  然后执行:chkconfig –add apache

  注意:不建议进行这样的操作,容易混淆

时间: 2024-10-22 04:38:49

Linux学习笔记(19) Linux服务管理的相关文章

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

Linux学习笔记十:软件包管理

在Linux的众多版本中,可以大致分成两个系列,分别是:RedHat系Linux,Debian系Linux.在这两种不同系的Linux中,软件包的管理也是有着一定的区别,但他们的原理都大致相同.这篇笔记将以RedHat系Linux为重点讲解其软件包的管理,并简单介绍Debian系Linux软件包的管理.其大致的结构如下: · RedHat系Linux软件包管理 - 1. 二进制包管理(基于rpm) - 2. 二进制包管理(基于yum) - 3. 源代码包管理 - 4. 脚本安装 · Debian

Linux学习笔记(20) Linux系统管理

1.进程管理 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. 进程管理的作用有判断服务器健康状态.查看系统中所有进程及杀死进程.一般都可以采用正确的命令终止进程,只有当终止失效时,才强制杀死进程. (1) 查看系统中所有进程 ① ps aux命令表示查看系统中所有进程,使用BSD操作系统格式 USER:该进程是由哪个用户产生的: PID:进程的ID号: %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源: %MEM:该进程占

Linux学习笔记:Linux发行版

Linux发行版 什么是Linux distribution – Linux的本质来说,它只是操作系统的核心(内核),负责控制硬件.管理文件系统.程序迚程等,并丌给用户提供各种工具和应用软件. – 人们以Linux核心为中心,再集成搭配各种各样的系统管理软件戒应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版. Linux主要发行版 RedHat Linux:红帽企业级Linux是系统管理员的第一选择,它有众多的程序包,还有非常到位的支持,由于该发行版是商业化产品,所以丌是免费

RHCE 学习笔记(8) 服务管理

RHEL7的服务管理也是比较简单的内容,主要是通过systemctl命令对服务进行启动,关闭,查询等操作. 值得一提的是在RHEL6之前的版本,都是通过 service XXX start/stop/status 命令来进行服务的操作,这在RHEL7里面仍然工作,不过只能执行最基本的功能 例如停止 sshd服务,查看状态, 打开sshd服务 类似的命令可以用 systemctl 来实现 查看状态 停止服务 状态表示dead,服务已经停止 也可以 disable 服务,禁止开机自动运行 开机自动加

Linux学习笔记(21) Linux日志管理

1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致. rsyslogd的新特点: 基于TCP网络协议传输日志信息:更安全的网络传输方式:有日志消息的及时分析框架:后台数据库:配置文件中可以写简单的逻辑判断:与syslogd配置文件相兼容. 1)确定服务启动 ps aux

Linux学习笔记——进程查看及管理

Linux进程查看和管理工具有很多 pstree命令:以树形方式显示进程 ps [OPTION]... 常用组合:aux u: 以用户为中心组织进程状态信息显示 a: 与终端相关的进程: x: 与终端无关的进程: 常用组合:-ef             -e: 显示所有进程              -f: 显示完整格式程序信息 常用组合:-eFH             -F: 显示完整格式的进程信息             -H: 以进程层级格式显示进程相关信息 常用组合:-eo, axo

Linux学习笔记(22) Linux启动管理

1. 系统运行级别 运行级别 含义 0 关机 1 单用户模式,可想象为windows的安全模式,主要用于系统修复 2 不完全的命令行模式,不含NFS服务 3 完全的命令行模式,就是标准字符界面 4 系统保留 5 图形模式 6 重启动 (1) 运行级别命令 runlevel #查看运行级别命令 N表示进入3前面的级别 init 运行级别 #改变运行级别命令 (2) 系统默认运行级别 在配置文件/etc/inittab中进行修改即可 id:3:initdefault: #系统开机后直接进入哪个运行级

Linux学习笔记之常用用户管理类命令

开始这个话题之前应该先了解下/etc/shadow这个文件中的构造,对于列所代表的意思大体有个了解,先以ftpuser账户来介绍:后边会给出一些相应的例题来做使用说明补充(好吧我承认,这,又是一篇博客作业^_^万恶的标题党). ftpuser:$6$T9WUEls/$AK4hTO1bZ7MXW7VoMej8e7tVG1qqxPy5axVJAAIz4m6uuzZmoYDcQjUG2XlXx7klx/i8yJ1luZDtoKYwJAMa4.:16929:0:99999:7:5:: 总共有9个字段被"