Linux服务管理

系统的运行级别

运行级别 含义
0 关机
1 单用户模式,主要用于系统修复
2 不完全的命令行,不含NFS服务
3 完全的命令行
4 系统暴露
5 图形模式
6 重启
1
2
3
4
5
6
7
8
9
10
11
12
runlevel
#查询系统运行级别
#结果:N 3 (当前是3 N是上一次登陆级别)
init 5
#修改运行级别
vi /etc/inittab
#修改系统默认运行级别
id:3:initdefault:
#修改系统默认运行级别,这里默认是3

服务的分类

独立服务:独立的运行在内存中,一直在运行的

基于xinetd的服务:
服务由xinetd来管控,平时不运行,一有访问,先到xinetd,然后由xinetd去调用
现在基本上不再使用xinetd。
默认没有安装,可以通过yum方式安装xinetd服务,在安装之前使用chkconfig可以查看系统的服务状态,安装完整之后会出现一组xinetd管理的服务,默认都是关闭的。

1
2
3
chkconfig --list #查看xinetd是否安装
yum -y install xinetd #安装xinetd
chkconfig --list #查看xinetd服务

RPM安装服务和源码包安装服务的区别:安装位置不同

  • 源码包安装在知道位置,一般是/usr/local
  • RPM包安装在默认位置中
目录 说明
/etc/ 配置文件位置
/etc/init.d/ 启动脚本位置
/etc/sysconfig/ 初始化环境配置文件位置
/etc/xinetd.conf xinetd配置文件
/etc/xinetd/ 基于xinetd服务的启动脚本
/var/lib/ 服务产生的数据目录
/var/log/ 日志

查询已经安装的服务

  1. RPM包安装的服务:chkconfig --list
    查看服务自启动状态,可以看到所有RPM包安装的服务

  2. 源码包安装的服务:查看服务安装位置,一般是/usr/local

服务与端口

端口:每个协议都有65536个端口,默认给某个协议提供了端口,那么此端口就不在为其他协议体统服务。
/etc/services中可以查看服务与端口对应关系
因为服务与端口的这种一一对应的关系,所以可以通过查询端口来查看服务状态

1
ps aux #查看系统中运行了哪些服务(包含程序)

查询系统中开启的服务

1
2
3
4
5
6
7
8
netstat -tlunp
-t:列出tcp数据
-u:列出udp数据
-l:列出正在监听的网络服务(不包含已连接的网络服务)
-n:用端口号来显示服务,而不是服务名
-p:列出该服务的进程id(PID)
netstat -an #查看系统中开了哪些程序和服务占用了端口

服务的启动与自启动

服务启动:就是在当前系统中让服务运行,并提供功能。
服务自启动:让服务在系统开机或者重启动之后,随着系统的启动而自动启动服务。

推荐统一用配置文件的方式,这样不容易冲突

  • chkconfig off不需要添加启动级别
  • xinetd自启动和启动是相通的,相互一致
  • 源码包安装服务的启动使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。
    可以查看源码包的安装说明,其中有启动脚本的方法
  • 让源码包的服务能被service命令管理启动:在init.d目录中做个软链接
    `ln -s /usr/local/apache2/bin/apache /etc/init.d/
  • 让源码包服务能被 chkconfig 与 ntsysv 命令管理自启动

    1
    2
    3
    4
    5
    6
    7
    8
    vi /etc/init.d/apache
    # chkconfig:35 86 76
    #指定httpd脚本可以被chkconfig命令管理。
    #格式: chkconfig : 运行级别 启动顺序 关闭顺序
    #description: source package apache
    #说明,内容随意。
    把这两句加到/etc/rc.d/init.d/apachetctl 保存(需要带#)
    然后chkconfig --add apache
  • 源码安装的Apache输入IP地址默认打开的网页是/usr/local/apache2/htdocs/index.html
    rpm包安装的Apache默认打开的是/var/www/html/下的文件,但是默认是没有的,所以打开Apache测试页。当在这个目录下建一个网页后,打开的是新增的网页。

  • /etc/rc3.d/下面的文件是运行级别3时,系统开启与关闭分别要执行的服务文件,启动顺序与关闭顺序不能和现有的冲突