标签:
运行级别 | 含义 |
---|---|
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 查看到服务在不同运行级别时,服务自启动是否开启,不能确定现在服务是否已经开启。
chkconfig –list命令查看服务自启动状态,可以看到所有RPM包安装的服务
查看服务安装位置,一般是/usr/local/目录下
service、chkconfig、ntsysv都不能找到源码包安装的服务。
源码包一般安装在/usr/local/目录下
RPM包默认安装位置
1 ps aux
命令,显示所有执行的进程包括服务进程,但这并不好用
2 netstat -tlun
显示系统已运行(正在监听)的服务,其他功能可以man netstat
查看
查看/etc/services
文件,显示常见的端口和服务
常规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命令。
#yum -y install 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
只有独立的服务才有运行级别,基于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服务管理
标签:
原文地址:http://blog.csdn.net/renwotao2009/article/details/51166619