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. 华为 MATE7 调试 LOCAT 日志不输出问题

    [转]华为 MATE7 调试 LOCAT 日志不输出问题 http://www.cnblogs.com/glaivelee/p/4593221.html 用手机进行调试,在电脑上不显示logcat信息 ...

  2. VS2010调试速度很慢

    1.使用vs2010,感觉速度越来越慢.重新设置了vs2010的环境(在vs2010命令提示符下,执行devenv.exe /resetuserdata),居然解决了这个问题,速度跑的很好.网上有人说 ...

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

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

  4. 【leetcode】Word Search (middle)

    今天开始,回溯法强化阶段. Given a 2D board and a word, find if the word exists in the grid. The word can be cons ...

  5. VS2010编译Qt4.8.2的64版本库

    安装qt-win-opensource-4.8.2-vs2010.exe(从http://download.qt.io/archive/qt/4.8/4.8.2/下 载),这个是32位的,里面有编译好 ...

  6. struts.xml配置详解

    struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件. 一下分别介绍一下几个struts.xml中常用到的标签 1.<include> 利用includ ...

  7. Android笔记:管理所有活动

    以关闭所有活动为例 public class ActivityCollector { public static List<Activity> activities = new Array ...

  8. 25个增强iOS应用程序性能的提示和技巧--中级篇

    25个增强iOS应用程序性能的提示和技巧--中级篇 标签: ios性能优化内存管理 2013-12-13 10:55 738人阅读 评论(0) 收藏 举报  分类: IPhone开发高级系列(34)  ...

  9. [Android Pro] Test win

    http://www.cnblogs.com/mayingbao/ http://www.cnblogs.com/hyddd/

  10. iOS小技巧总结,绝对有你想要的

    原文链接 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIV ...