基本服务的自启动管理

一、linux下的服务分类

RPM 包默认安装的服务

这些服务是通过 RPM 包安装的,可以被服务管理命令识别。又分为两种子分类:

  • 1)独立的服务:
    就是独立启动的意思,这类型的服务可以自行启动,而不用依赖其他的管理服务。不依赖其他管理服务,那么当客户端请求访问时,独立的服务响应请求更快速。 Linux 中目前大多数服务都是独立的服务,比如 apache 服务,FTP 服务,Samba 服务等。
  • 2)基于 xinetd 的服务:
    这种服务就不能独立启动了,而是要依靠管理服务来调用这种服务。这个负责管理的服务就是 xinetd 服务,xinetd 服务是系统的超级守护进程。xinetd 服务的作用就是管理不能独立启动的服务,当有客户端请求时,先请求 xinetd 服务, 由 xinetd 服务去唤醒相对应的服务。当客户端请求结束后,被唤醒的服务会关闭并释放资源。这样做的好处是只需要持续启动 xinetd 服务,而其他基于 xinetd 的服务只有在需要时才启动,不会占用过的的服务器资源。但是这种服务由于在有客户端请求时才会被唤醒,所以相应时间相对较慢。
源码包安装的服务

不能直接通过系统命令启动,但可以进行配置实现系统命令启动。

二、RPM 包默认安装的服务管理

1、独立服务管理
独立服务的启动管理

(我们使用yum安装的apache服务进行演示)

  • 使用/etc/init.d/目录中的启动脚本启动服务
[[email protected] ~]# /etc/init.d/httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for centos
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
  • 使用 service 命令来启动独立的服务
[[email protected] ~]# service  独立服务名  start|stop|restart|…
独立服务的自启动管理
  • 使用 chkconfig 服务自启动管理命令
[[email protected] ~]# chkconfig [--level 运行级别] [独立服务名] [on|off]
#选项:
--level:
设定在哪个运行级别中开机自启动(on),或是关闭自启动(off)
[[email protected] ~]# chkconfig --level 2345 httpd on 
  • 修改/etc/rc.d/rc.local 文件,设置服务自启动
[[email protected] ~]# vi /etc/rc.d/rc.local  

touch /var/lock/subsys/local /etc/rc.d/init.d/httpd start 
  • 使用 ntsysv 命令管理自启动,ntsysv是一个图形界面。
[[email protected] ~]# ntsysv
上下键:在不同服务之间移动
空格键:选定或取消服务的自启动。
tab 键:在不同项目间切换
F1 键:显示服务的说明
2、基于 xinetd 服务的管理
基于 xinetd 服务的启动

我们使用 telnet 服务来举例,telnet 服务是用来进程系统远程管理的,端口 23。不过需要注意的是 telnet 的远程管理数据在网络当中是明文传输,非常不安全。在实际生产环境中,不会使用,我们这里只是举例而已。

[[email protected] ~]# yum install telnet -y
[[email protected] ~]# vim /etc/xinetd.d/telnet

service telnet
{
        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
        disable         = yes      默认服务不使用,我们如果要使用的话,需要将yes改为no
}

#启动telnet服务,使用chkconfig --list 查看
[[email protected] ~]# chkconfig --list
....
xinetd based services:
    chargen-dgram:  off
    chargen-stream: off
    daytime-dgram:  off
    daytime-stream: off
    discard-dgram:  off
    discard-stream: off
    echo-dgram:     off
    echo-stream:    off
    rsync:          off
    tcpmux-server:  off
    telnet:         on
    time-dgram:     off
    time-stream:    off
基于 xientd 服务的自启动
  • 使用 chkconfig 命令管理自启动
  • 使用 ntsysv 命令管理自启动
[[email protected] ~]# chkconfig 服务名 on|off
[[email protected] ~]# chkconfig telnet on
telnet 是基于 xinetd 的服务,没有自己的运行级别,是依靠 xinetd 服务的运行级别,所以不能添加 --level 参数

三、源码包安装的服务管理

1、源码包服务的启动管理
[[email protected] ~]# /usr/local/apache/bin/apachectl start|stop|restart|… # 源码包服务启动管理 
2、源码包服务的自启动管理
[email protected] ~]# vi /etc/rc.d/rc.local # 修改自启动文件
touch /var/lock/subsys/local /usr/local/apache/bin/apachectl start 
3、让源码包服务被服务管理命令识别

1)安装源码包的 apache 服务

[[email protected] ~]# tar -zxvf httpd-2.4.41.tar.gz
[[email protected] ~]# cd httpd-2.4.41
#先安装依赖
yum install pcre  gcc gcc-c++ expat-devel zlib
#源码包 2.4.*版本中默认没有集成 apr 的依赖包,所以需要提前解决依赖问题,直接下载就行
cp -a apr-1.7.0/ /root/httpd-2.4.41/srclib/apr
cp -a apr-util-1.6.1 /root/httpd-2.4.41/srclib/apr-util
[[email protected] httpd-2.4.41]# ./configure --prefix=/usr/local/apache --sysconfdir=/usr/local/apache/etc --with-included-apr
make && make install

2)启动apache服务

[[email protected] ~]# /usr/local/apache/bin/apachectl start
[[email protected] ~]# netstat -tlunp | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      45839/httpd
# 启动源码包的 apache ,查看端口确定已经启动 

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

[[email protected] ~]# ln -s /usr/local/apache/bin/apachectl  /etc/init.d/apache
#service 命令其实只是在 /etc/init.d/ 目录中查找是否有服务的启动脚本,所以我们只需要做个软链接把源码包的启动脚本链接到 /etc/init.d/ 目录中,就能被 service 命令管理了。我把软链接文件起名为 apache ,不过注意这不是 RPM 包的 apache。

[[email protected] rc.d]# service apache stop
# 虽然 RPM 包的 apache 被卸载,但是 service 命令也能够生效。 

4)、让源码包的 apache 服务能被 chkconfig 命令管理自启动

[[email protected] ~]# vim /etc/init.d/apache
在其中添加如下两行
# chkconfig: 2345 88 88
           启动级别  启动顺序   关闭顺序  #任意,不与其他服务冲突就行
# description:  apache  chkconfig script
                    描述信息         #任意
[[email protected] rc.d]# chkconfig --add apache
# 让 chkconfig 命令能够管理源码包安装的 apache
[[email protected] rc.d]# chkconfig --list | grep apache apache
[[email protected] rc.d]# chkconfig --list |grep apache
apache          0:off   1:off   2:on    3:on    4:on    5:on    6:off

此时,已经可以使用chkconfig,管理apache自启动,并且启动级别,就是我们所写的。

5)、让 ntsysv 命令可以管理源码包 apache
ntsysv 命令其实是和 chkconfig 命令使用同样的管理机制,也就是说 ntsysv 已经可以 进行源码包 apache 的自启动管理了。

6)chkconfig 添加与删除服务

chkconfig [选项] [服务名] 选项:
--add: 把服务加入 chkconfig 命令的管理
--del: 把服务从 chkconfig 命令的管理中删除 

原文地址:https://www.cnblogs.com/hjnzs/p/12010930.html

时间: 2024-10-07 23:53:37

基本服务的自启动管理的相关文章

linux 的服务与进程管理(二)

2.linux 的服务与进程管理 [2.1]系统启动流程 简单的介绍下linux的系统启动流程,方便我们深入了解linux操作系统,对排除linux系统故障进行帮助.启动流程虽然简单但背后还有着更加复杂的底层函数调用,等待咱们去研究,本节课就算抛砖引玉了. 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等

服务和进程管理(二)

二.Linux服务管理 1.分类 1.系统默认安装的服务    rpm包 ①独立的服务 ②基于xinetd的服务,xinetd是系统超级守护进程 2.源码包安装的服务 2.(一)系统默认安装的服务 1.确定服务分类 chkconfig    --list            查看服务的自启动状态 2.独立的服务器管理 1.启动 推荐             ①    /etc/rc.d/init.d/服务名    start|stop|restart|status 例子  /etc/rc.d/

systemd下supervisord服务开机自启动以及注意事项

systemd 下supervisord服务开机自启动 centos7 开机自启动脚本: #vim /lib/systemd/system/supervisord.service # supervisord service for sysstemd (CentOS 7.0+) # by ET-CS (https://github.com/ET-CS) [Unit] Description=Supervisor daemon [Service] ExecStart=/usr/bin/supervi

详解DHCP服务安装与管理

DHCP服务安装与管理 一.DHCP是什么 名称:DHCP – Dynamic Host Configuration Protocol 动态主机配置协议 功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途: 1. 给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名 2. 配和其它服务,实现集成化管理功能.如:无人执守安装服务器 DHCP是一个C/S架构的协议,D

安卓手机优化 ROOT自启动管理 + 电量管理

一.KingRoot + 净化大师 KingRoot 主要完成ROOT 和 自启动软件的管理 这里禁止的自启动管理 对于有些软件是不太管用 比如美团 手机百度等 净化大师 主要完成 高电量的软件优化 还有禁止顽固的自启动程序  比如美团等 经过这两个软件的优化 重启手机速度变的很快了,然后在[设置]-[应用程序]-[正在运行]里查看现在的软件自启动情况

mysql_windows_安装版添加到服务开机自启动

不解释 ,cmd下直接运行 sc create mysql binPath= "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" start= auto mysql_windows_安装版添加到服务开机自启动,布布扣,bubuko.com

安装Git服务&使用Gitosis管理成员、项目并做项目授权(上)

转自:安装Git服务&使用Gitosis管理成员.项目并做项目授权 这是一篇实际的操作文档,里面的大部分图都是自己亲手截屏,力求达到真实并希望帮助到更多的遇到类似问题的困惑者.如果遇到问题,可以直接在文章最下面联系到我,也欢迎拍砖. 弄清楚关键词眼与概念 裸仓库(bare repository) 即一个没有当前工作目录的仓库.因为该仓库只是一个合作媒介,所以不需要从硬盘上取出最新版本的快照:仓库里存放的仅仅是 Git 的数据.简单地说,裸仓库就是你工作目录中 .git 子目录内的内容. 补充一下

oracle服务开机自启动

1.修改oracle系统配置文件::/etc/oratab vi /etc/oratab orcl:/opt/oracle/product/10.2.0/db_1:Y 2.在 /etc/init.d/ 下创建文件oracle启动脚本,内容如下: #!/bin/sh # chkconfig: 35 80 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_

2-1-搭建Linux实验环境-sshd服务搭建与管理与防治暴力破解-课堂笔记

1.学习Linux服务前期环境准备.搭建一个RHEL6环境 注意:本章学习推荐大家用centos6.X 系列的系统,用RHEL也可以 实验环境搭建: 系统安装 安装RHEL6或者centos 6系列 64位系统 不要用32位 CENTOS6X86_64 从6.5 -6.8 都可以 下载地址:http://pan.baidu.com/s/1o7DxkQu 密码: puny 1)清空iptables [[email protected] ~]# iptables -F[[email protecte