服务是在系统后台运行,并等待用户或其它软件调用的一类特殊程序。由于Linux主要是用作服务器操作系统,因而当学习完入门课程之后,接下来就要学习对各种常用服务的配置与管理,如实现Web服务器的httpd服务、实现FTP服务器的vsftpd服务、实现邮件服务器的postfix服务等。
在我们的入门课程中要学习的所谓服务管理,主要是指如何启动或停止服务,内容还是非常基础的,主要涉及到两条命令:service和chkconfig。
一、 通过service命令管理服务
通过
service命令可以启动、停止或者重启服务,使用起来非常灵活。
例:查看
sshd服务的状态:
[root@localhost ~]# service sshd status
openssh-daemon (pid 1638) 正在运行
...
例:查看
httpd服务的状态:
[root@localhost ~]# service httpd status
httpd 已停
例:启动
httpd服务:
[root@localhost ~]# service httpd start
正在启动
httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[确定
]
例:重启
httpd服务:
[root@localhost ~]# service httpd restart
停止
httpd: [确定]
正在启动
httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[确定
]
例:停止
httpd服务。
[root@localhost ~]# service httpd stop
停止
httpd: [确定]
二、 通过chkconfig命令管理服务
当
Linux系统关机时会停止所有的服务,然后才关闭电源,重新启动系统之后,还必须用service命令再次启动这些服务。如果需要将服务永久关闭或启动,就必须借助于chkconfig命令。
chkconfig命令是与系统的运行级别相结合起来的,通过该命令可以设置系统在进入相应的运行级别时自动启用或停用某项服务。关于系统运行级别请参看博文
http://80821.blog.51cto.com/70821/1130029。
例:查看
sshd服务在各运行级别中的启动状态。
[root@localhost ~]# chkconfig --list sshd
sshd
0:关闭
1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
可以看到,
sshd服务在运行级别2、3、4、5中是开启的,而在运行级别0、1、6中是关闭的。
将
chkconfig命令与“--level”选项配置使用,可以设置指定服务在指定运行级别中的启动状态。
例:将
sshd服务在运行级别2、4中的启动状态设置为off(关闭)。
[root@localhost ~]# chkconfig --level 24 sshd off
[root@localhost ~]# chkconfig --list sshd
sshd
0:关闭
1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
例:将
httpd服务在运行级别3、5中的启动状态设置为on(开启)。
[root@localhost ~]# chkconfig --level 35 httpd on
[root@localhost ~]# chkconfig --list httpd
httpd
0:关闭
1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
如果不加“
—level”选项,chkconfig命令默认将在运行级别2、3、4、5中启动或停止指定的服务。
例:将
httpd服务设置为随系统自动启动。
[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig --list httpd
httpd
0:关闭
1:关闭 2: 启用 3:启用 4: 启用 5:启用 6:关闭
三、综合实例:安装并管理vsftpd服务
最后来总结一下,当我们要搭建一台服务器时,要进行的操作流程是:
- 安装相应的服务程序。
- 用service命令启动服务。
- 用chkconfig命令将服务设为自动启动。
- 对服务进行配置和测试。
服务的配置和测试是后面要讲的内容,这里只将前三步操作以
vsftpd服务为例做下演示。
首先查询系统中是否已经安装了
vsftpd程序。
[root@localhost ~]# rpm –qa | grep vsftpd
确认程序没有安装后,用
yum安装程序。
[root@localhost ~]# yum install vsftpd
用
service命令启动服务。
[root@localhost ~]# service vsftpd start
为
vsftpd 启动 vsftpd: [确定]
用
chkconfig命令将服务设为自启动,并查看启动状态。
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# chkconfig --list vsftpd
vsftpd
0:关闭
1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭