1. 服务的分类

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

(1) 启动和自启动

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

(2) 查询已安装的服务

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

[root@localhost sh]# chkconfig --list
abrt-ccpp :off :off :off :on :off :on :off
abrtd :off :off :off :on :off :on :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) 独立服务的启动方法有两种:

()/etc/init.d/独立服务名 start|stop|restart|status
#查询apache的状态
[root@localhost sh]# /etc/init.d/httpd status
httpd (pid ) is running... ()service 独立服务名 start|stop|restart|status
#重启apache
[root@localhost 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自启动

[root@localhost sh]# chkconfig --list | grep httpd
httpd :off :off :off :off :off :off :off
[root@localhost sh]# chkconfig --level httpd on
[root@localhost sh]# chkconfig --list | grep httpd
httpd :off :off :on :on :on :on :off

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

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

[root@localhost 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) - 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

[root@localhost sh]# yum -y install xinetd
[root@localhost sh]# yum -y install telnet-server
...
[root@localhost sh]# chkconfig --list
......
xinetd :off :off :off :on :on :on :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服务就启动了。

[root@localhost 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
} [root@localhost sh]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@localhost sh]# netstat -tlun | grep
tcp ::: :::* LISTEN

(3) xinetd服务的自启动

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

# () chkconfig telnet on|off
[root@localhost sh]# chkconfig telnet off
[root@localhost sh]# netstat -tlun | grep # () 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:  

  # 说明,内容随意

  # description: source package apache    

  然后执行:chkconfig –add apache

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

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

  1. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  2. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

  3. linux学习笔记--程序与进程管理

    .工作管理 1.前台程序放后台程序  命令后 加  & 2.任务执行时将前台任务任务放到后台中并[暂停]  ctr + z 3.jobs 观察后台工作状态 及多少任务在执行,可以通过 help ...

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

    1.进程管理 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. 进程管理的作用有判断服务器健康状态.查看系统中所有进程及杀死进程.一般都可以采用 ...

  5. Linux学习笔记之Linux相关知识

    [想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以 ...

  6. Linux学习笔记之Linux启动引导过程

    早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...

  7. Linux学习笔记之Linux第一课-基本介绍

    Linux简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基 ...

  8. Linux学习笔记19-ssh远程管理

    远程管理 服务器一般运行在IDC机房中,一般都是通过远程管理方式对服务器进程控制. 常见的远程管理工具: RDP(remote desktop protocol)协议,window远程桌面管理 Tel ...

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

    1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式 ...

随机推荐

  1. gtk+-3.21.4 static build step in windows XP

    In recent days the weather is very hot Unable to sleep properly Under the state of daze research gtk ...

  2. Shell编程—定时任务

    应用:定时催收,定时下发,对新增内容入库同步, 时间:凌晨 服务器Reahat Linux: Bash HPUX:kbash? #!/bin/sh #!/bin/bash echo awk #输入重定 ...

  3. C#中XmlTextWriter读写xml文件详细介绍(转)

    转自http://www.jb51.net/article/35230.htm   .NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单.在这篇文章中,我将给 ...

  4. sqlserver 动态行转列

    DECLARE @SQL VARCHAR(8000)SET @SQL = 'select overcode 'SELECT @SQL = @SQL + ' , max(case header when ...

  5. 安装Django,运行django-admin.py startproject 工程名,后不出现指定的工程解决办法!!

       第一次写博客,,,,, 在看我这篇教程的前提是你应该已经正确装好python和Django了,好了,废话不说了,正题走你!你现在是不是很纠结自己运行django-admin.py startpr ...

  6. tableview详细介绍

    tableview详细介绍: https://www.baidu.com/link?url=MU5a5om66vYEKAcnvmXCeCwMGetezW5o2X11OUnwN7-fb_jWPx6xyv ...

  7. tableView设置首尾

    [self.tableView setTableHeaderView:view]; [self.tableView setTableFooterView:view];

  8. iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法(任意页面横竖屏或禁止)

    iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法 时间 2015-07-14 20:59:00  博客园-原创精华区 原文  http://www.cnblogs.com/fe ...

  9. python处理html的table标签

    转载:http://www.xuebuyuan.com/583071.html python处理html的table标签 2012年01月06日 ⁄ 综合 ⁄ 共 5279字 ⁄ 字号 小 中 大 ⁄ ...

  10. 6个原因说服你选择PostgreSQL9.6

    PostgreSQL9.6在前些日子发布了, 社区为该版本的重大更新付诸良多, 发布日志一如既往的长,我挑选了6个重要的更新, 这些或许能够帮助你更好的使用PostgreSQL. 并行: 并行应该是这 ...