电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1503|回复: 0

Linux的服务管理和运行级别

[复制链接]
admin 发表于 2018-2-24 17:57:45 | 显示全部楼层 |阅读模式
  Linux的服务是如何产生的呢? 是你安装了某个软件,启动这个软件就会启动一些进程,这个进程其实就是服务。

  而linux上的软件,有一些我们是通过rpm包 安装的,有一些我们是用源码包安装的。这两种方式安装的软件的服务管理方式是不同的。
原因是这两种安装方式安装的位置是不同的:

  rpm包安装的服务分两种, 一种叫独立服务,一种叫xinetd服务,独立服务配置文件在 /etc/init.d也就是 /etc/rc.d/init.d/下(这两个目录是链接关系)
   源码包安装在指定位置 一般是/usr/local

   rpm包安装后,软件如何启动呢?  独立服务的启动方式是   service  软件包名  start ( 这个命令实际就是执行  /etc/rc.d/init.d 下的软件包名的服务)          rpm包安装的xinetd服务是用 xinetd 工具去管理。
  而源码包安装的服务 一般 就是   /usr/local/服务名  这样去启动

如何查看rpm包已安装的服务:
chkconfig --list   列出rpm包已安装的所有服务,并显示服务自启动类型(chkconfig 只能查看rpm包安装服务的自启动类型,不能查看源码包安装的服务)    其中  0代表关机  1单用户 2没有网络的字符界面 3有网络的字符界面 4未分配 5图形界面 6重启动

查看源码包已安装的服务:
     源码包一般都是安装在/usr/local,而且源码包删除方法就是直接删除目录,所以只要去 /usr/local下看看都有哪些目录,就能看出来都安装过什么源码包

rpm安装的独立服务的启动方法:
   独立服务的启动脚本放在 /etc/init.d(注: /etc/rc.d/init.d和 /etc/init.d 是链接关系,两个目录一样)
    启动方法: 1、/etc/init.d/服务名 --start  2、 service 服务名  start

xinetd.d服务的启动方法:
    xinetd服务启动脚本放在  /etc/xinetd.d   
    启动方法:    举个例子: yum -y install xinetd                    yum -y install telnet-server  ,安装后   chkconfig --list   可以查看到  telnet服务默认是关闭的

                   vi/etc/xinetd.d/telnet 将最后一行 disable=yes 改为 no

                   然后重启 xinetd服务  service xinetd restart,这样xinetd服务中,所有diable设置为no的服务都就启动了。

源码包服务的启动方法:
      源码包服务启动脚本放在 /usr/local
     启动方法:   /usr/local/服务名   --start

  修改服务自启动状态的方法:
     1、 chkconfig  
      例如:    chkconfig --list | httpd     查看 httpd启动状态
                     chkconfig httpd off          关闭 httpd自启动
                     chkconfig telnet on          开启telnet自启动
      2、修改 /etc/rc.d/rc.local文件
        每次系统重启,系统都会自动去执行 rc.local里的命令, 因此我们只要将需要自启动的服务的命令 写入这个文件(添加一行记录),系统重启后,就会自动的执行这个命令,也就是自动启动这个服务,任何服务类型都可以,例如添加 /etc/init.d --start  service start  /usr/local  --start 都可以。
      3、ntsysv命令管理器(服务管理图形界面),直观方便,但是只有redhat系统才有。    其中第1和第3种方法对所有服务都通用,但是第3种方法只有redhat系统才有,其他的linux系统中可能没有。
    而第2种方法也需要记住,因为这个方式除了是自启动某个服务,也可以用来自启动某个自写的脚本等,用这个方法来设置自启动项。

       另外,再次强调一下xinetd服务的启动: 1、修改/etc/xinetd.d/服务名,将disable=no 然后重启动xinetd服务(service xinetd restart),而并不是启动xinetd服务的名, 或者用方法2  chkconfig xinetd服务名  on( 通过 chkconfig 将服务设置为自启动后,同时会启动这个服务)





您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-11-23 16:56 , Processed in 0.100552 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表