Linux服务管理

2017-12-30  本文已影响0人  其实我很dou

Linux服务管理

Linux中服务主要包括rpm包安装服务管理和源码包安装服务管理
rpm会安装到服务编写者指定的目录中, 而源码包安装, 需要自己指定安装目录

查询系统中开启的服务

netstat -tlunp

查看系统自启动服务状态
chkconfig --list

查询系统已经开启的服务
netstat -tlunp
netstat -an

更改启动级别
chkconfig --level 2345 iptables on|off

rpm包默认安装服务启动方式(非xinetd), 如yum安装的apache,

rpm包自启动控制

源码包服务启动方式

源码包服务自启动方式

service命令是查找/etc/init.d/目录中的启动脚本

系统在启动时, 会读取/etc/inittab文件, 查看启动级别, 通过启动级别, 确定读取下面那个级别目录下的脚本

lrwxrwxrwx   1 root root     10 12月 28 22:28 rc0.d -> rc.d/rc0.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc1.d -> rc.d/rc1.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc2.d -> rc.d/rc2.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc3.d -> rc.d/rc3.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc4.d -> rc.d/rc4.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc5.d -> rc.d/rc5.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc6.d -> rc.d/rc6.d

如果inittab文件中启动级别为3级别, 则默认会读取/etc/rc3.d(软链接, 指向/etc/rc.d/rc3.d/)目录, 该目录如下

lrwxrwxrwx  1 root root 19 12月 28 22:31 K10saslauthd -> ../init.d/saslauthd
lrwxrwxrwx  1 root root 18 12月 28 22:31 K15svnserve -> ../init.d/svnserve
lrwxrwxrwx  1 root root 15 12月 28 22:31 S55httpd -> ../init.d/httpd
lrwxrwxrwx  1 root root 14 12月 28 22:31 S55sshd -> ../init.d/sshd
lrwxrwxrwx  1 root root 16 12月 28 22:31 S56xinetd -> ../init.d/xinetd
lrwxrwxrwx  1 root root 16 12月 28 22:31 S64mysqld -> ../init.d/mysqld
lrwxrwxrwx  1 root root 17 12月 28 22:31 S80postfix -> ../init.d/postfix
lrwxrwxrwx  1 root root 15 12月 28 22:31 S90crond -> ../init.d/crond
lrwxrwxrwx. 1 root root 11 10月 12 2016 S99local -> ../rc.local
...

rc3目录下的启动脚本也是软链接, 如S55httpd, 链接文件为/etc/init.d/httpd,
/etc/init.d目录也是链接文件, 链接指向/etc/rc.d/init.d目录, 所以s55httpd文件最终链接文件位置为/etc/rc.d/init.d/httpd

S55httpd中, s指start, 启动, 55是启动顺序, 启动目录中还有k10ss...是指切换到该级别, 需要关闭的服务


/etc/rc.local也是链接文件, 实际位置为/etc/rc.d/rc.local
可以将需要自启动的服务写入到该文件中, 系统启动最后一步, 会读取该文件, 执行该文件指定的启动服务


linux为使启动目录更简单, 将/etc/rc.d目录下的文件在/etc目录下都做了软链接, 如下

lrwxrwxrwx   1 root root     11 12月 28 22:28 init.d -> rc.d/init.d
lrwxrwxrwx.  1 root root      7 10月 12 2016 rc -> rc.d/rc
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc0.d -> rc.d/rc0.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc1.d -> rc.d/rc1.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc2.d -> rc.d/rc2.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc3.d -> rc.d/rc3.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc4.d -> rc.d/rc4.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc5.d -> rc.d/rc5.d
lrwxrwxrwx   1 root root     10 12月 28 22:28 rc6.d -> rc.d/rc6.d
lrwxrwxrwx.  1 root root     13 10月 12 2016 rc.local -> rc.d/rc.local
lrwxrwxrwx.  1 root root     15 10月 12 2016 rc.sysinit -> rc.d/rc.sysinit

etc/rc.d目录如下

drwxr-xr-x. 2 root root  4096 5月  11 2016 init.d
-rwxr-xr-x. 1 root root  2617 11月 23 2013 rc
drwxr-xr-x. 2 root root  4096 5月  11 2016 rc0.d
drwxr-xr-x. 2 root root  4096 5月  11 2016 rc1.d
drwxr-xr-x. 2 root root  4096 12月 28 22:38 rc2.d
drwxr-xr-x. 2 root root  4096 12月 28 22:38 rc3.d
drwxr-xr-x. 2 root root  4096 12月 28 22:38 rc4.d
drwxr-xr-x. 2 root root  4096 12月 28 22:38 rc5.d
drwxr-xr-x. 2 root root  4096 5月  11 2016 rc6.d
-rwxr-xr-x. 1 root root   336 10月 20 2016 rc.local
-rwxr-xr-x. 1 root root 19688 11月 23 2013 rc.sysinit

如源码安装apache, 目录为/usr/local/apache2, 想通过rpm服务管理方式管理, 可以执行

ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/apache

这样就可以通过service命令启动, service apache start

如果也想使用chkconfig做自启动管理, 需要执行如下操作:

#chkconfig:35 86 76
//指定apache脚本可以被chkconfig管理, 格式为 运行级别 启动顺序 关闭顺序

#description:srouce package apache
上一篇 下一篇

猜你喜欢

热点阅读