Linux服务管理

一般Linux作为服务器,当然是长时间稳定的运行一些我们的需要的服务啦!!

服务分为 RPM包 安装与 源码包安装两种

RPM包安装

此方法安装在系统的默认位置
服务启动脚本 /etc/init.d/

服务启动方法 : /etc/init.d/服务名 start | stop | status | restart ( 推荐 )
CentOS 7特有方法 : /bin/systemctl status 服务名

设置服务开机自启动

有三种方法, 可以让服务在开机时启动

1、 使用chkconfig命令

chkconfig --list 可以查看到RPM服务的自启动状态
chkconfig --level 2345 httpd on|off 开启/关闭 apache服务自启动
chkconfig httpd on 以上命令的简写

2、 修改/etc/rc.d/rc.local

/etc/rc.d/rc.local 开机后在登录之前会被执行的脚本
/etc/init.d/httpd start 在脚本中加入服务的启动命令

3、使用ntsysv命令设置自启动 (redhat专有命令,也可能不存在此命令)

直接打出 ntsysv 在弹出的窗口勾选

基于xinetd服务 (很不常用,了解)

现在的应用大多数也不基于这个服务了,所以使用前需要先安装服务
下面这个例子是使用telnet过程

yum install xinetd 安装
yum install telent-server 安装telent远程服务
由于服务不是独立的,所以不能直接启动
/etc/xinetd.d/telnet 编辑这个文件,重启xinetd服务即可

自启动与服务运行是同步的

源码安装应用

源码包通常存放在 /usr/local/ , 软件一般只在一个文件夹里 , 卸载软件直接删除文件夹即可

一般来说, 源码包都有安装说明等相关信息文件

启动时使用绝对路径,一般调用bin目录下的脚本来完成启动和停止

默认情况下,服务管理命令是不识别源码包程序的,也就是说不能用如下的命令管理

1. ~~/etc/init.d/服务名 start~~
2. ~~chkconfig xxx on~~

服务自启动

/etc/rc.d/rc.local 开机后在登录之前会被执行的脚本
/usr/local/apache/apachectl start 在脚本中加入服务的启动命令

要想让管理器管理,就要做链接让系统识别

ln -s /usr/local/apache/bin/apachectl /etc/init.d/apache
让 init.d 拥有该可以执行程序

vi /etc/init.d/apache 编辑这个文件加入注释
#chkconfig: 35 86 76
格式是 运行级别 启动顺序 关闭顺序(可以在/etc/rc.d/rcX.d中查看到)
#description: source package apache
内容随意,这个是文件的注释
chkconfig --add apache

加入注释,让他能够找到服务,被 chkconfig 和 ntsysv 识别

发表评论

发表评论