Linux服务管理-RPM服务的管理-独立服务管理(图文详细)
前言
rpm包和源码包之间的不同点很多,但是给我们带来最直观的感受是安装的不同,也正是安装上的不同,导致服务管理的方式不同。所以以下学习了rpm包安装的服务如何进行启动和自启动。
复习一下:
- 源码包安装在指定位置,一般是/usr/local/ ,源码包放哪都可以,但是习惯性的放在/usr/local下。
- RPM包安装在默认位置中
1. RPM包安装服务的位置
以下是PRM包常见的默认的安装位置:
-
/etc/init.d/
启动脚本位置/etc/sysconfig/
初始化环境配置文件位置/etc/
配置文件位置/etc/xinetd.conf
xinetd配置文件/etc/xinetd.d/
基于xinetd服务的启动脚本/var/lib/
服务产生的数据放在这里/var/log/
日志
小提示:
(1) /var放的是服务可变数据目录,数据库实时发生改变,所以一般放在/var目录下。比如:rpm安装的Apache,/var/www/html是网页保存位置。绝大多数文件都在这些目录当中,但是一些特殊的文件会有自己一些的特殊目录,这些目录都是约定俗成的。
2. 独立服务的启动
独立服务的启动有两种方法:
命令: /etc/init.d/独立服务名 start|stop|restart|status
命令:service 独立服务名 start|stop|restart|status
(红帽专有命令)
注意重点:
- (1) 绝对路径和service命令只能让apache现在启动,当Linux一旦重启,那就不一定启动了,这两种方法只是启动命令。如果想要开机就启动,需要设置服务的自启动。
-
(2) 独立安装的启动脚本
/etc/init.d
、/etc/rc.d/init.d
这两个是软连接,写哪个都行。
开始实验:
-
(1) 一般的服务的启动都是绝对路径,status查询这个服务的状态。
(2)用service关闭服务
小提示: service命令是在 /etc/init.d 目录下主动搜索整个独立服务名,只要找到就可以运行。Service命令是红帽专有命令。service --status-all
的作用:会列出系统当中所有,已经安装rpm包服务的它的状态。
3. 独立服务的自启动
设置服务的自启动有三种方法:
3.1 第一种方法
命令: chkconfig [–level 运行级别] [独立服务名] [on|off]`
- 开始操作
注意事项:
(1) Chkconfig不仅能查询自启动状态,也可以修改服务的自启动。4是未分配,这是习惯,连起来用。
(2) 这个命令只能保证我的apache下次开机的时候自动启动。
(3) 关闭服务的自启动:chkconfig –level 2345 httpd off
这里的--level 2345
可以省略,它的默认级别就是2345,不写也是2345。
3.2 第二种方法
(1) 修改/etc/rc.d/rc.local
文件
- 如果想让apache的服务自启动,那么只需在
/etc/rc.d/rc.local
文件中写入/etc/rc.d/init.d/httpd start
干货来了:
- 这个文件在什么时候被系统读取的那??? 当计算机启动,在你的系统所有的服务都启完之后,在输入用户名密码之前,最后会读取/etc/rc.d/rc.local这个文件里的数据, 这个文件写任何数据,都会在登录之前输入用户名密码之前都会执行一遍,也就是说把服务的标准启动命令/etc/rc.d/init.d/httpd start写到这个目录当中,只要保存,下次计算机一旦重启,在登录之前就会读取整个文件,里面的内容就会执行。
-
/etc/rc.d/rc.local文件里 touch /var/lock/subsys/local 代表什么意思那???
touch /var/lock/subsys/local
这个不是新建文件。touch是接触、触摸的意思,如果这个文件不存在,就建立这个文件,一旦这个文件创建之就不再创建,就会修改这个文件得最后一次访问时间,每次重启都接触一下这个文件,这个文件最后访问时间就会变成系统的重启时间, 以后只要检测这个文件的时间就可以知道计算机在什么时候重启的。 -
/etc/rc.d/rc.local
和/etc/rc.local
是一对软链接,用哪个都可以,这个相当于Windows里的快捷键。
3.3 第三种方法
-
(1) 使用ntsysv命令管理自启动
-
这个跟serivce、setup都是红帽专有命令 ,想要自启动哪个服务只需要打上*就行,否则去掉*,按空格操作。按tab键进行退出。ntsysv不仅能管理独立的服务也可以管理基于xnetd服务。但是不能管理源码包的服务。
4. 总结
(1) 源码包的服务默认是不能被任何服务管理命令识别的。
(2) 独立服务的启动,推荐使用绝对路径的方式来启动。 因为service是红帽子专有的。
(3) 独立服务的自启动,推荐修改配置文件的方法。 在这个文件可以看到这个文件到底自启动了哪些服务。比如: 装了一个rpm包的apach,用chkconfig变成自启动。我有装个源码包的apache,用/etc/rc.d/rc.local这种方法把源码包的apache启动了。这个就会报错,因为重启了占用两个相同的端口。