Linux 服务管理

简介与分类

系统的运行级别

运行级别 含义
0 关机
1 单用户模式,只要用于系统修复
2 不完全的命令行模式,不含NFS模式
3 完整的命令行模式,就是标准字符页面
4 系统保留
5 图形模式
6 重启
# 查看运行级别
runlevel 
# 改变运行级别
init 5


# 过去的更改默认启动级别的方式
cat /etc/inittab
 
# 现在的
# To view current default target, run:
systemctl get-default

# To set a default target, run,常用的multi-user.target与graphical.target
systemctl set-default TARGET.target  

服务的分类

服务的分类

xinetd服务基本已经被淘汰

查询已安装的服务

RPM包安装的服务

# 查看服务自启动状态,可以看到所有RPM包安装的服务
chkconfig --list
systemctl list-unit-files

源码包安装的服务

# 查看服务安装位置,一般在/usr/local下

服务启动和自启动

启动:就是在当前系统中让服务启动,并提供功能。

自启动:指让服务在系统开机或重启动之后,随着系统的启动而自动启动服务。

服务与端口

ps aux 
端口

端口与服务的对应:查看/etc/services

例如:
grep rsync /etc/services

查询系统中开启的服务

netstat -tlunp

RPM包服务管理

默认位置

路径 作用
/etc/init.d/ 启动脚本位置
/etc/sysconfig/ 初始化环境配置文件位置
/etc/ 配置文件位置
/etc/xinetd.conf xinetd配置文件
/etc/xinetd.d 基于xinetd服务的启动脚本
/var/lib/ 服务产生的数据放在这里
/var/log/ 日志

独立服务的管理

独立服务的启动关闭查看重启

/etc/init.d/独立服务名 [start/stop/status/restart]   
/etc/rc.d/init.d/独立服务名 [start/stop/status/restart]   
service 独立服务名  [start/stop/status/restart]
# centos 7
systemctl [start/stop/status/restart] 独立服务名 

独立服务的自启动

方法一:chkconfig

chkconfig [--level 运行级别] [独立服务名] [on/off]
例如:
chkconfig --level 2345 netconsole on
chkconfig netconsole off

方法二:修改/etc/rc.local

vi /etc/rc.local
vi /etc/rc.d/rc.local
# 然后在尾部添加一行,例如
/etc/init.d/httpd start

方法三:ntsysv命令(跟方法一统一)

ntsysv      使用空格修改  # centos 7 中setup可以进入

基于xinetd服务的管理

安装xinetd

yum -y install xinetd

基于xinetd服务的启动

vi /etc/xinetd.d/time-stream 
修改disable=yes为disable=no
# 重启xinetd服务
service xinetd restart #  systemctl restart  xinetd (centos 7)

基于xinetd服务的自启动

checkconfig time-stream on
# ntsysv命令
ntsysv

注意实际上自启动与启动完全同步,自启动关闭/开启,启动同时关闭/开启,启动关闭/开启,自启动同时关闭/开启

源码包服务管理

源码包安装服务的启动

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

/usr/local/apache2/bin/apachectl start|stop

源码包安装服务的自启动

修改/etc/rc.local

vi /etc/rc.local
vi /etc/rc.d/rc.local
# 然后在尾部添加一行,例如
/usr/local/apache2/bin/apachectl start|stop

让源码包服务被服务管理命令chkconfig,ntsysv,service识别

# 让源码包服务被服务管理命令service管理启动
ln -s /usr/local/apache2/bin/apachectl start|stop /etc/init.d/apache # 软链接

# 让源码包服务被服务管理命令chkconfig,ntsysv管理自启动

# 在上述创建的软链接vi /etc/init.d/apache 中加入
    # chkconfig:运行级别 启动顺序 关闭顺序  (# 不是注释)
    # description:source package apache (内容随意但是必须加上)
例如: “# chkconfig:35 86 76” 35是指在运行级别 3、5下,启动顺序和关闭顺序不能与 /etc/rc3.d/下的序号重合,其中启动顺序不许和S打头的序号一样,关闭顺序不许和K打头的顺序一样
# 把源码包apache加入chkconfig命令
checkconfig --add apache

服务管理总结

Linux服务小结

Linux服务列表 (pdf格式)

推荐阅读更多精彩内容