『学了就忘』Linux服务管理 — 79、源码包安装的服务管理
1、源码包服务的启动管理
# 通过源码包的安装路径,找到该服务的启动脚本,
# 也就是获得该服务的启动脚本的绝对路径,
# 最后加上启动选项。
[root@localhost ~]# /usr/local/apache2/bin/apachectl start|stoplrestart|...
注意:
按用源码包安装服务的时候,每个服务的启动脚本是不同的。
我们如何知道一个服务的启动脚本叫什么名称呢?
在官方给你的安装文档中,会明确的告诉你该服务的启动脚本叫什么名称。
开启服务示例:
说明:
这个报错说的是
localhost.localdomain
这个主机名没有被识别,但是apache服务启动起来是没有问题的。
查看apache
服务是否开启,执行命令ps aux | grep httpd
。
如下图所示:
2、源码包服务的自启动管理
通过配置/etc/rc.d/rc.local
配置文件,来实现通过源码包安装的服务的自启动管理。
这个方法和RPM包默认安装的独立服务管理方式二一样(请看文章中的方式二:点此查看)。
这个方法是通用的,不论是源码包还是RPM包安装的服务都可以,主要看的是你在/etc/rc.d/rc.local
配置文件中写的是源码包安装的服务启动命令,还是通过RPM包安装的服务启动命令。
所以在上文中推荐使用配置文件的方式进行服务的管理,通用、统一管理Linux系统中的服务。
示例:
# 配置/etc/rc.d/rc.local配置文件
[root@localhost ~]# vim /etc/rc.d/rc.local
# 修改自启动文件内容
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/local/apache2/bin/apachectl start
3、让源码包服务被服务管理命令识别
我们接下来就做个试验,把通过源码包安装的apche
服务,变为和RPM包安装的apache
服务一样,可以被service
,chkconfig
,ntsysv
命令识别。
我们所要解决的问题如下图:
(1)让通过源码包安装的服务能被service
命令管理启动
service
命令其实只是在/etc/rc.d/init.d/
目录中查找是否有服务的启动脚本,所以我们只需要做个软链接,把源码包的启动脚本链接到/etc/rc.d/init.d/
目录中,就能被service
命令管理了。
# 将通过源码包安装的服务的启动脚本,在/etc/rc.d/init.d/目录中做一个软链接
[root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/apachectl
查看/etc/rc.d/init.d/
内容,如下图所示:
执行service apachectl restart
命令,开启apche
服务。
可以看到apche
服务可以通过service
命令进行启动了,没有报未被识别的服务错误。
(2)让通过源码包安装的服务能被chkconfig
命令管理自启动
接上一步,然后需要对软链接到/etc/rc.d/init.d/
目录,通过源码包安装的服务的启动脚本进行配置。
# 编辑/etc/rc.d/init.d/目录中的源码包启动脚本
# (注意此文件是软链接,所以修改的还是源码包启动脚本)
[root@localhost ~]# vim /etc/rc.d/init.d/apachectl
# 在开头添加内容如下
#!/bin/sh
# 添加内容-1
# 指定httpd脚本可以被chkconfig命令管理
# 格式是:chkconfig:运行级别启动顺序关闭顺序
# 这里我们设定apache在3和5级别能被chkconfig命令管理,启动顺序是S86,关闭顺序是K76
# 注意:(自定顺序,不要和系统中已有的启动程序顺序冲突)
# chkconfig:35 86 76
#
# 添加内容-2
# 说明,内容随意
# description:aaabbbccc
#以上两句话必须加入,才能被chkconfig命令识别。
然后让chkconfig
命令能够管理源码包安装的服务。
[root@localhost ~]# chkconfig --add apachectl
没有报错说明成功。
通过chkconfig
命令查看Linux中自启动服务。
如下图所示:
然后可以通过chkconfig
命令开启该服务的自启动状态了。
(3)让ntsysv
命令可以管理通过源码包安装的服务
ntsysv
命令其实是和chkconfig
命令使用同样的管理机制,也就是说上面chkconfig
命令能够管理源码包安装的服务,ntsysv
命令也就可以管理通过源码包安装的服务了。
执行[root@localhost ~]# ntsysv
命令,可以在图形界面中找到我们上边刚刚配置的apache
服务。
(4)总结
- 如果想让源码包服务被
service
命令识别并管理,只要做个软链接把启动脚本链接到/etc/rc.d/init.d/
目录中即可。 - 要想让源码包服务被
chkconfig
命令识别,除了需要把服务的启动脚本链接到/etc/rc.d/init.d/
目录中,还要修改这个启动脚本,在启动脚本的开头加入:# chkconfig
:运行级别、启动顺序、关闭顺序。# description
:说明信息。
- 然后需要使用
chkconfig --add 服务名
的方式,把服务加入chkconfig
命令管理中。
命令格式如下:[root@localhost ~]# chkconfig [选项] [服务名] 选项:
--add:把服务加入chkconfig命令的管理。
--del:把服务从chkconfig命令的管理中删除。 # 示例:
# 把apache服务从chkconfig命令的管理中删除
[root@localhost ~]# chkconfig -del httpd
chkconfig
命令配置完成,ntsysv
命令也就可以管理该服务了。
提示:
知道源码包安装的服务可以这样处理就可以了,并不推荐这样做。通过源码包安装的服务就用源码包的方式启动服务,通过RPM包方式安装的服务,就用RPM包的方式启动服务,就很好。
『学了就忘』Linux服务管理 — 79、源码包安装的服务管理的更多相关文章
- 『学了就忘』Linux服务管理 — 76、RPM包安装的服务管理
目录 1.独立服务的启动管理 2.独立服务的自启动管理 方式一: 方式二:(推荐) 方式三: 3.验证 1.独立服务的启动管理 (1)使用/etc/init.d/目录中的启动脚本启动服务(推荐) [r ...
- 『学了就忘』Linux服务管理 — 75、Linux系统中的服务
目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...
- 『学了就忘』Linux日志管理 — 90、Linux中日志介绍
目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工 ...
- Linux 系统下用源码包安装软件
Linux系统下用源码包安装软件 by:授客 QQ:1033553122 下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是READ ...
- 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍
目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...
- 『学了就忘』Linux软件包管理 — 47、Linux源码包的安装和卸载
目录 1.源码包安装服务的注意事项 2.源码包安装服务的过程 3.源码包安装服务的删除 4.源码包安装服务的启动 5.源码包安装服务的关闭 1.源码包安装服务的注意事项 (1)安装服务选择哪种软件包? ...
- 『学了就忘』Linux日志管理 — 92、日志轮替
目录 1.日志文件的命名规则 2.logrotate配置文件说明 3.logrotate配置文件的主要参数 1.日志文件的命名规则 日志轮替最主要的作用就是把旧的日志文件移动并改名,同时建立新的空日志 ...
- 『学了就忘』Linux基础命令 — 30、find命令详细说明
目录 1.find命令的基本信息 2.find命令基本使用 3.按照文件大小搜索 4.按照修改时间搜索 5.按照权限搜索 6.按照所有者和所属组搜索 7.按照文件类型搜索 8.逻辑运算符 (1)-a: ...
- 『学了就忘』Linux基础 — 15、了解Linux系统的目录结构
目录 1.一级目录说明 (1)一级目录列表 (2)/bin/和/sbin/目录说明 (3)/boot/目录说明 (4)/lib/和/lib64/目录说明 (5)/lost+found/目录说明 (6) ...
随机推荐
- 编解码再进化:Ali266 与下一代视频技术
过去的一年见证了人类百年不遇的大事记,也见证了多种视频应用的厚积薄发.而因此所带来的视频数据量的爆发式增长更加加剧了对高效编解码这样的底层硬核技术的急迫需求. 新视频编解码标准 VVC 定稿不久之后, ...
- 【linux系统】命令学习(六)awk sed grep 与管道的使用
程序运行环境输入与输出 标准输入0 read a;echo $a 标准输出1 echo cesh 错误输出 ls notr 管道重定向 管道与管道之间可以重定向 管道与文件之间可以重定向 用于写入 将 ...
- [hdu7081]Pty loves book
建立ac自动机,令$S_{x}$为以根到$x$的路径所构成的字符串以及$L_{x}=|S_{x}|,W_{x}=\sum_{1\le i\le m,t_{i}为S_{x}的后缀}w_{i}$,那么不难 ...
- [hdu7020]Array
(这是一个线性的做法) 显然对于合法的区间,众数是唯一的,因此不妨枚举众数,将众数标记为1.其余数标记为-1,此时问题即求有多少个区间和大于0 考虑暴力的做法:从左到右枚举右端点,记当前前缀和为$to ...
- [loj2470]有向图
参考ExtremeSpanningTrees,考虑优化整体二分时求$g_{i}\in \{w_{mid},w_{mid+1}\}$的最优解 对于$m=n-1$的问题,不需要去网络流,可以直接树形dp ...
- [luogu7116]微信步数
先判定无解,当且仅当存在一个位置使得移动$n$步后没有结束且仍在原地 暴力枚举移动的步数,记$S_{i}$为移动$i$步(后)未离开范围的点个数,则恰好移动$i$步的人数为$S_{i-1}-S_{i} ...
- 一个 Linux 后台程序编程案例分析
Linux 下的一个进程打开一个日志文件,不定期地往该文件里写入日志.此时可以在控制台使用 mv 命令给该日志文件改个名字或者用 rm 命令把这个日志文件删除掉.Linux 下是允许这么干的!对于改日 ...
- 阿里性能专家全方位对比Jmeter和Locust,到底谁更香?
近些年,随着互联网行业的不断发展,用户规模也有了爆发性的增长.产品的性能成为影响用户体验的重要因素.因此,性能测试越来越受到大型互联网企业的重视. 在做性能测试时,通常都会借助一些压测工具来模拟大量的 ...
- C#.NET 操作Windows服务承载WCF
Windows服务的制作.安装可以参考这篇: C#.NET 操作Windows服务(安装.卸载) - runliuv - 博客园 (cnblogs.com) 本篇会在这个解决方案基础上,继续修改. 一 ...
- MySQL联合索引的排列组合应用实战
我们都知道,当数据表中的数据日益增长后,查询会变得越来越慢,当初在表设计之初,尚未考虑创建索引的话,那么现在正是必要的时候.可是,如果对于MySQL使用索引的策略不了解,或是脱离了具体业务场景,那么, ...