Linux服务管理

系统运行级别

linux系统总共有7个运行级别,不同级别用数字表示,取值范围为 0 ~ 6。

  • 0 :关机命令
  • 1:单用户模式,关闭了不必要的服务,主要用于系统修复。
  • 2:不完全的命令模式,不包含NFS服务()
  • 3:完全的命令模式,即标准字符界面。一般服务器都运行在这个级别
  • 4:系统保留,暂不使用。
  • 5:图形界面模式。
  • 6:重启

其中0级别和6级别由于不一定能正确的关闭所有服务,不建议使用。类似使用电源按钮关闭PC。

查看运行级别

  • $runlevel

输出两个数字,表示系统上一个运行级别和当前运行级别。如果没有修改启动级别会返回一个 ( N 数字),其中数字表示系统当前运行级别。

修改临时运行级别

  • $init 数字

临时修改系统运行界别,数字只能是0~7。注意尽量不要使用0或者6。

修改默认运行级别

默认运行级别表示系统启动之后进入的级别。在/etc/inittab文件,“id:5:initdefault:”中的数字表示默认启动界别,修改即可。注意修改时不能修改为0级别和6级别。

服务分类

linux中的服务指应用程序提供给用户的功能,应用程序运行后,在系统中以后台运行的进程方式存在。用户使用服务实际上是访问这些进程。对服务的分类可从应用程序的角度展开,分为PRM包服务和源码包服务。

一般地,用户通过协议、IP、端口可以访问linux服务器上的某一项服务。其中,协议约定双方的通信方式。IP和端口定位服务的位置。举个例子,IP相当于一个房子,端口相当于进入这个房子的门。房子只有几个门,但是一个IP地址可有65536个端口。一个IP对应一台服务器,上面跑了很多服务,端口号则用于区分这些服务,即一个服务对应一个访问端口。一般地,10000以内的端口是给系统预留端口,其他端口可用于用户应用。

在/etc/services文件中,可以查看所有端口使用情况。

基于rpm包安装的服务

rpm包服务是指应用程序使用rpm包,可使用RPM命令管理,分为独立服务和基于xinetd服务。

  • 独立服务:直接运行在内存中,用户可直接访问服务。
  • 基于xinetd的服务:服务不运行在内存,用户通过xinetd访问服务。xinetd是一种超级守护进程,可起到请求转发的作用。这种服务正逐渐淘汰。

基于源码包安装的服务

源码包服务指应用程序已源码的形式存在,默认情况下,用户需自行编译、安装的服务。

同RPM包安装到默认位置不同,源码包的安装位置未采用默认安装位置,因此它的服务管理方式默认不能使用service、chkconfig等命令。下文介绍了通过配置将源码包归入到RPM管理模式下,但容易造成混乱,不建议这么做。

查看已安装服务

由于rpm包和源码包的安装方式不同,rpm安装在默认位置,源码包安装在指定位置(一般/usr/local),因此对应不同的服务查看方式。

  • 查看基于rpm包的服务
    • 由于rpm安装在默认位置,可使用RPM提供的命令查看
    • $chkconfig --list
      • 输出所有基于rom包安装的服务。
      • 同时也输出服务在7种运行级别中的自启动设置。这个命令输出的自启动设置,表示下一次系统重启或开机时,服务是否跟随系统启动。与当前系统中服务是否已启动没有关系。 譬如network的输出结果是在系统 2、3、4、5级别启用,但在当前系统中network并不一定启动,这是因为有可能在当前系统状态下修改了network的自启动设置。
  • 查看基于源码包安装的服务
    • 由于源码包安装用户可定义安装位置,因此用户可到指定位置查看。有多少软件包就表示安装了多少软件。
    • 由于一般情况下安装在/usr/local中,查看该目录下即可看到使用源码方式安装的软件

服务的启动与自启动

在操作系统层面,对服务的管理主要是配置相应的运行环境、启动应用程序、对外提供服务。启动服务包含按需实时启动、配置服务自启动。服务启动完成之后,接受用户的具体请求。此时,操作系统不必再关注该服务了。

  • 服务启动:在当前系统中让服务运行,并提供功能。表示一种动作,等同于 “启动服务”。
  • 服务自启动:系统的服务在下一次开机或重启之后自动启动。表示一种静态设置

在linux中服务分为rpm包服务和源码包服务,对应地,服务的启动和自启动也分为两类。

启动rpm服务及配置自启动

  • 启动独立服务
    • $/etc/init.d/独立服务名XX start|stop|status|restart
      • 这种方式找到独立服务的路径,然后启动
      • 这是一种通用的启动服务方式,适用于所有linux版本
    • $service 独立服务名 start|stop|restart|status
      • 这是方式使用service命令
      • 这个命令适用于redhat系列的linux
  • 配置服务自启动
    • 方式一:$chkconfig [–level 运行级别] 独立服务名 [on|off]
    • 方式二:修改/etc/rc.d/rc.local文件,建议使用此方式。
    • 方式三:使用ntsysv命令,伪图形方式,该命令为redhat特有。

启动源码包服务及配置自启动

  • 启动服务。使用绝对路径调用启动脚本启动服务
    不同源码包的启动脚本不同。可通过查看源码包的安装说明,查看启动脚本的方法。一般地,在安装文件的bin目录中包含服务的启动脚本。其后跟上stop或start。类似 “/usr/local/apache2/bin/apachectl start|stop”

  • 配置服务自启动
    将服务的绝对路径的启动命令加入到 /etc/rc.d/rc.local或者/etc/rc.local(rc.local是rc.d/rc.local的软链接)中

  • 配置服务被默认服务管理命令识别
    在/etc/init.d/目录下存储几乎所有的服务启动脚本,即包含可被service命令管理的服务,rpm包方式安装的服务都会在该目录下创建一个启动脚本文件。对于源码包方式安装的服务,则可以通过将启动脚本软链接到/etc/init.d目录下,实现被service命令管理。类似“ln -s /usr/local/apache24/bin/apachectl /etc/init.d/apachee”。同样地,也可以通过配置实现chkconfig、ntsyssv对源码包服务的管理。

软链接的源文件要使用绝对路径

查看已启动的服务

  • $netstat -tlunp
    • network status 列出系统中所有的已经启动的服务
    • -t:列出TCP数据
    • -u:列出UDP数据
    • -l:列出正在监听的网络服务,不包含已经连接的网络服务
    • -n:用端口号来显示服务,而不是用服务名
    • -p:列出服务的进程ID,即PID
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值