Linux-认识linux系统的服务并对其进行管理

Linux-服务管理

1、服务分类

1. 服务有哪些?

Linux服务:

  • RPM包安装的服务
    • 独立服务
    • 基于xinetd的服务
  • 源码包安装的服务

①独立的服务是装在内存中的。 如httpd服务是独立的服务,用户访问httpd服务时直接访问该服务。

②基于xinetd的服务,是装在硬盘中的,而xinetd服务是装在内存中的。 如TFTP防服务,当用户访问TFTP服务时,先访问xinetd服务,再通过xinetd服务访问对应的TFTP服务。即由xinetd服务负责统一管理。

2. 服务启动和自启动

服务启动:在当前系统中运行服务,并提供功能。(启动)

服务自启动:服务在系统开机或者重启后,随着系统的启动而自动启动服务。(开机自启)

系统的启动级别:

0:关机

1:单用户模式,用于系统恢复。

2:不完全命令行模式,不含NFS服务

3:完全命令行模式,字符界面

4:系统保留

5:图形化界面

6:重启动

# 查看运行级别
runlevel
# 运行级别切换
init 3
init 5
# 设置开机时的默认级别,不要设为0或6,一般设为3和5
vim /etc/inittab

3.查询已安装的服务

# 查看RPM包安装的服务
# chkconfig查看服务的自启动状态,可以查看RPM软件包
# ps查看所有服务进程
# ps aux | grep network
# netstat也可查看服务进程,但不可查看守护进程
# netstat -tlun
[root@master ~]# chkconfig --list

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

iprdump         0:off   1:off   2:on    3:on    4:on    5:on    6:off
iprinit         0:off   1:off   2:on    3:on    4:on    5:on    6:off
iprupdate       0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rhnsd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
# 查看源码包安装的服务,即查看服务安装位置/usr/local/目录下的目录情况。
# 无命令查看方式
[root@master ~]# cd /usr/local/
[root@master local]# ls
bin  etc  games  httpd  include  lib  lib64  libexec  sbin  share  src
# RPM软件包的启动方式,最原始方式。
# 若用service或者systemctl启动network,也是查询/etc/rc.d/init.d/目录下的数据。
[root@master ~]# /etc/rc.d/init.d/network start 

2、独立的服务

1. RPM包安装的服务的文件安装位置

目录 作用
/etc/init.d/或者/etc/rc.d/init.d/ 启动脚本位置
/etc/sysconfig/ 初始化环境配置文件位置
/etc/ 配置文件(独立的服务)
/etc/xinetd.conf xinetd服务的配置文件
/etc/xinetd.d/ 基于xinetd服务的服务的启动脚本
/var/lib/ 服务产生的数据存放位置
/var/log/ 服务日志
# 独立的服务启动脚本位置
[root@master ~]# cd /etc/init.d/
[root@master init.d]# ls
functions  iprdump  iprinit  iprupdate  netconsole  network  README  rhnsd
[root@master init.d]# cd /etc/rc.d/init.d/
[root@master init.d]# ls
functions  iprdump  iprinit  iprupdate  netconsole  network  README  rhnsd

# RPM包安装的服务的卸载
rpm -e httpd

2. 独立服务的启动

  • /etc/init.d/独立服务名 start|stop|status|restart
  • service 独立服务名 start|stop|status|restart
  • systemctl start|stop|status|restart 独立服务名

第二和第三种启动服务的方式都是搜索的/etc/init.d/目录。第一种方式适用于所有的linux系统。第二三种适用于redhat系统。

3. 独立服务的自启动

# chkconfig保证下一次启动时自启动,对服务的当前状态不影响。
# 查询服务的自启动状态
chkconfig --list | grep 独立服务名
# 自启动服务
# 服务的运行级别为2345即可认为是自启动
chkconfig --level 2345 独立服务名 on
chkconfig --level off

# 以下两个文件,会在系统所有服务启动完之后,登录或输入密码之前,会读取该文件的内容并执行。
# 将启动命令写入该文件,开机后即可实现开机自启
# 建议使用,其他两个命令仅在redhat系统有效
/etc/rc.d/rc.local
/etc/rc.local

# ntsysv命令图形化界面自启动服务
# 该命令适用于独立服务和基于xinetd的服务

3.基于xinetd服务

# 安装xinetd服务
yum intall -y xinetd

# 安装telnet客户端
yum install -y telnet

# 安装telnet服务端(不安全)
yum install -y telnet-server

# 修改telnet服务的配置文件,启动telnet服务
vim /etc/xinetd.d/telnet
# 关闭选择no,即启用。
# disable = no

# 重启xinetd服务(xinetd服务是独立的服务)

# 自启动
# 法一:chkconfig telnet on|off
# 法二:ntsysv
# 注意:基于xinetd服务的启动和自启动是互通的,启动了也就是自启动了,自启动了也就启动了。

4. 源码包安装的服务

# 源码包服务的启动方式,查看源码包的安装说明
# 使用绝对路径启动
# cat INSTALL


# 源码包服务的自启动
# 修改文件/etc/rc.d/rc.local或者/etc/rc.local文件,添加启动命令。


######################以下方法不建议使用,但可以掌握使用方法####################

# 调整源码包安装的服务,使其可以使用service或者systemctl命令(不建议这么做)
# service或者systemctl搜索的目录是/etc/init.d/
# 将源码包的启动脚本做一个软连接到/etc/init.d/目录下,即可使用命令service或者systemctl

# 调整源码包安装的服务,使其可以使用chkconfig或者ntsysv命令(不建议这么做)
# 编辑脚本启动文件,添加以下两个注释信息。
vim /etc/init.d/服务名
# 运行级别、启动顺序、关闭顺序
# chkconfig: 35 86 76
# description: source package apache

# 添加apache到chkconfig服务列表中
# chkconfig --add apache
# 验证效果
# chkconfig --list | grep apache
# chkconfig apache on
# nesysv

通过以上的学习,可以分清楚RPM包和源码包安装的服务的启动自启动方式。再也不用担心不知道怎么启动一个服务啦!!!

猜你喜欢

转载自blog.csdn.net/weixin_36522099/article/details/106785436