1、服务的分类
启动与自启动:
服务启动:就是在当前系统中让服务运行,并提供功能。
服务自启动:自启动是指让服务在系统开机和重启之后,随着系统的启动而自动启动服务
查询已安装的服务:
RPM包安装的服务
[root@localhost ~]# chkconfig --list
#查看服务自启动状态,可以看到所有RPM包安装的服务
源码包安装的服务
查看服务安装位置,一般是/usr/local/下
查询服务是否启动:
ps aux | grep "xxx"
RPM安装服务和源码包安装服务的区别
源码包安装在指定位置,一般是/usr/local/
RPM包安装在默认位置中:
/etc/init.d/:独立服务启动脚本位置(硬链接/etc/rc.d/init.d/)
/etc/sysconfig/:初始化环境配置文件位置
/etc/:配置文件位置
/etc/xinetd.conf:xinetd配置文件
/etc/xinetd.d/:基于xinetd服务的启动脚本
/var/lib/:服务产生的数据放在这里
/var/log/:日志
2、RPM包服务的管理
①独立服务的管理
启动:
1> /etc/init.d/独立服务名 start | stop | status | restart
(推荐)↑
2> service 独立服务名 start | stop | restart | status (红帽专有命令)
自启动:
1> chkconfig [--level 运行级别] [独立服务名] [on|off] (红帽专有命令)
2> 修改/etc/rc.d/rc.local文件
此文件内的命令,都会在每次重启后自动执行
(推荐)↑
3> 使用ntsysv命令管理自启动 (红帽专有命令)
②基于xinetd服务的管理(超级守护进程)PS:很少使用xinetd管理服务了
安装xinetd服务:
[root@localhost ~]# yum -y install xinetd
[root@localhost ~]# yum -y install telnet-server
启动:
[root@localhost ~]# vi /etc/xinetd.d/telnet
service telnet 服务的名称为telnet
{
flags = REUSE 标志为REUSE,设定TCP/IP socket可重用
socket_type = stream 使用TCP协议数据包
wait = no 允许多个连接同时连接
user = root 启动服务的用户为root
server = /usr/sbin/in.telnetd 服务的启动程序
log_on_failure += USERID 登陆失败后,记录用户的ID
disable = no 服务不启动
}
重启xinetd服务:
[root@localhost ~]# service xinetd restart
自启动:
1> [root@localhost ~]# chkconfig telnet on (PS:启动和自启动是通用的,这个有点滑稽)
2> ntsysv (红帽专有命令)
3、源码包安装服务的管理
示例:apache2.4.25
启动:
使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
/usr/local/apache24/bin/apachectl start|stop
自启动:
[root@localhost ~]# vi /etc/rc.d/rc.local
加入
/usr/local/apache24/bin/apachectl start
让源码包服务被服务管理命令识别:(不推荐使用)
让源码包的apache服务能被service命令管理启动:
ln -s /usr/local/apache24/bin/apachectl /etc/init.d/apache
让源码包的apache服务能被chkconfig与ntsysv命令管理自启动:
vi /etc/init.d/apache
# chkconfig: 35 86 76
#指定httpd脚本可以被chkconfig命令管理。 格式是:
chkconfig: 运行级别 启动顺序 关闭顺序
# description: source package apache
#说明,内容随意
[root@localhost ~]# chkconfig --add apache
#把源码包apache加入chkconfig命令