码迷,mamicode.com
首页 > 系统相关 > 详细

Linux服务管理

时间:2016-04-16 19:06:23      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:

简介与分类

系统的运行级别

运行级别 含义
0 关机
1 单用户模式,可以想象为windows的安全模式,主要用于系统修复
2 不完全的命令行模式,不含NFS服务
3 完全的命令行模式,就是标准字符界面
4 系统保留
5 图形模式
6 重启动

注:
单用户模式:启动最小的服务,多余服务不开启,仅保证系统自己可以正常运行。主要用于系统修复。
NFS:Linux和Linux之间进行文件共享服务

查看及修改系统运行级别

// 查看系统运行级别
// N:NULL。当前级别为3即字符界面,其上一个级别为N即为空,表示系统开机直接进入字符界面
#runlevel
N 3             


// 修改系统运行级别
// 进入图形级别,前提是安装图形界面
#init 5 // 若未安装图形界面则会报错
#runlevel
3 5     // 仍然进入了5级别

// 不建议使用下面命令关机和重启,不一定正确结束系统正在运行的服务;建议使用shutdown命令
// 关机
#init 0
// 重启
#init 6 

查看及修改系统默认的运行级别

// /etc/inittab文件现在没有那么重要,它的功能已经被其他配置文件所代替
#vim /etc/inittab
id:3:initdefault:

注:不要把开机启动级别设置为0或6级别。

服务的分类

技术分享

RPM包与源码包的区别:主要在安装位置不一样。

RPM包安装在系统默认位置,一般不指定安装位置,安装包作者决定安装的位置。
源码包手工指定安装位置,一般装在/usr/local/目录下。

独立的服务和基于xinetd服务的区别:

独立的服务:服务独立的运行在内存中,服务响应速度快,但占用更多内存。
基于xinetd服务: xinetd服务是超级守护进程的一种。xinetd服务本身独立存在,管理一些服务。用户通过xinetd服务请求其管理的一些服务,然后xinetd返回请求服务的回复给用户,xinetd服务相当于proxy一样的角色。xinetd服务逐步被淘汰,大多数服务都是独立的服务。

//查看服务自启动服务
// 通过chkconfig查看的服务都是rpm包安装且都是独立的服务
#chkconfig --list
...
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off //在不同系统运行级别时服务的自动开启状态即是否自启动
...

// 查看基于xinetd服务
// xinetd
#yum -y install xinetd
// 查看服务
#chkconfig --list // 会多一组显示基于inetd服务的服务

启动与自启动

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

注:在chkconfig –list 查看到服务在不同运行级别时,服务自启动是否开启,不能确定现在服务是否已经开启。

查询已安装的服务

RPM包安装的服务

chkconfig –list命令查看服务自启动状态,可以看到所有RPM包安装的服务

源码包安装的服务

查看服务安装位置,一般是/usr/local/目录下
service、chkconfig、ntsysv都不能找到源码包安装的服务。

RPM包安装服务和源码包安装服务的区别就是安装位置的不同

源码包一般安装在/usr/local/目录下
RPM包默认安装位置

服务与端口

查看系统中开启(已运行)服务

1 ps aux命令,显示所有执行的进程包括服务进程,但这并不好用
2 netstat -tlun 显示系统已运行(正在监听)的服务,其他功能可以man netstat 查看

端口与服务对应

查看/etc/services文件,显示常见的端口和服务

RPM包服务管理

常规rpm包文件安装位置:
- /etc/init.d/ :启动脚本位置
- /etc/sysconfig/ : 初始化环境配置文件位置
- /etc/ : 配置文件位置
- /etc/xinetd.conf : xinetd配置文件
- /etc/xinetd.d/ : 基于xinetd服务的启动脚本
- /var/lib/ : 服务产生的数据放在这里
- /var/log/ : 日志

独立服务的管理

独立服务的启动

1 /etc/init.d/独立服务名 start|stop|status|restart|

// 查看apache http服务的状态,其中httpd为一个shell脚本文件
#/etc/init.d/httpd status
// 启动apache服务
#/etc/init.d/httpd start

// 早期Linux版本服务管理脚本放在/etc/rc.d/init.d/目录
#/etc/rc.d/init.d/httpd status

2 service 独立服务名 start|stop|restart|status|

#service httpd status

注1:redhat系列的Linux才能使用service命令
注2:上面两种方法一般无法管理源码包启动脚本,但可以把源码包启动脚本放置在/etc/init.d/目录下统一管理

独立服务的自启动

1 chkconfig [–level 运行级别] [独立服务名] [on|off]

#chkconfig --list |grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 
#chkconfig --level 2345 httpd on
#chkconfig --list |grep httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 

#chkconfig httpd off
#chkconfig --list|grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 

2 修改/etc/rc.d/rc.local文件
/etc/rc.d/rc.local文件是在系统启动时,把所有的服务启动完,用户登录到系统前最后执行的文件,因此系统会执行这个文件中的命令。

#vim /etc/rc.d/rc.local
touch /var/lock/subsys/local
/etc/init.d/httpd start // 添加开机启动apache服务的命令

注1:通过修改/etc/rc.d/rc.local文件添加的开机启动服务不能在chkconfig –list中显示,这两种管理方式不想关,选取一种即可。
注2:也可以修改/etc/rc.local文件,/etc/rc.local文件是/etc/rc.d/rc.local文件的软连接

3 使用ntsysv命令管理自启动
ntsysv命令和chkconfig命令是相关的,即通过哪一个修改,对方都能看见修改。
注:ntsysv是redhat系列的Linux命令。

基于xinetd服务的管理

1 安装xinetd服务

#yum -y install xinetd

2 xinetd服务的启动

// 显示rsync服务的端口
#grep rsync /etc/services

#vim /etc/xinetd.d/rsync
service rsync
{
    flags = REUSE // 设置TCP/IP socket可重用
    socket_type = stream
    wait = no     // 允许多个连接同时连接
    user = root   // 启动服务的用户为root
    server = /usr/bin/rsync
    server_args = --daemon
    log_on_failure += USERID // 登录失败后,记录用户的ID
    disable = no // 开启rsync服务,开启:no 关闭:yes
}

// 重启动xinetd服务
#service xinetd restart

3 xinetd服务的自启动

只有独立的服务才有运行级别,基于xinetd的服务没有运行级别,xinetd在哪个级别可以自启动,rsync服务就在哪个级别可以自启动

// 不能加运行级别
#chkconfig rsync on 
#netstat -tlun|grep 873
tcp 0 0 :::873 :::* LISTEN
#chkconfig rsync off
// 查看rsync服务是否关闭,
#netstat -tlun|grep 873 // 无显示,rync服务被关闭 
#vim /etc/xinetd.d/rsync // 设置rsync服务的disable=no
#service xinetd restart
#netstat -tlun|grep 873
tcp 0 0 :::873 :::* LISTEN


// 使用图形化界面的ntsysv找到rsync服务开启即可
#ntsysv 

注:由上面操作可知 xinetd服务的启动和自启动是一致的,即自启动开启关闭服务和启动开启关闭是一样的。

源码包服务管理

源码包的安装目录中的安装说明文档中一般有启动命令教程。如apache服务器的安装说明为INSTALL。

源码包安装服务的启动

使用绝对路径,调用启动脚本来启动。不同的二元吗包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。

// 源码包服务启动
#/usr/local/apache2/bin/apachectl start|stop
// 源码包中apache2服务首页的修改
#vim /usr/local/apache2/htdocs/index.html 

源码包服务的自启动

只能通过修改/etc/rc.d/rc.local文件加入启动命令

#vim /etc/rc.d/rc.local // 加入/usr/local/apache2/bin/apachectl start即可

让源码包服务被服务管理命令识别

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

#ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
#service apache start

让源码包的apache服务能被chkconfig与ntsysv命令管理自启动

#vim /etc/init.d/apache 
// 在apache启动脚本中添加
  #chkconfig: 35 86 76 // 格式:chkconfig : 运行级别 启动顺序 关闭顺序
  #description: source package apache
// 把源码包apache加入chkconfig 命令
#chkconfig --add apache
#chkconfig --list |grep apache
apache 0:关闭 1:关闭  2:关闭 3:开启 4:关闭 5:开启 6:关闭

// 这时,ntsysv命令也可以管理apache
#ntsysv 

注:

// 格式:chkconfig : 运行级别 启动顺序 关闭顺序
#chkconfig: 35 86 76
#cd /etc/rc3.d/ // 3代表系统纯字符界面
#ls
// 显示以k和s开头文件文件
// k开头的为kill,s开头的为start,
// 系统进入3级别的时要把以s开头的文件执行一遍,同理系统退出3级别时执行一遍k开头的文件
// 启动顺序号和关闭顺序号可以为随意数字,但启动顺序号不能与/etc/rc3.d/目录下已存在的s开头文件的顺序号重复,同理关闭顺序号也不能与k开头文件的顺序号重复

参考

慕课网Linux服务管理

Linux服务管理

标签:

原文地址:http://blog.csdn.net/renwotao2009/article/details/51166619

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!