Linux软件安装——服务管理

摘要:本文主要学习了Linux中有关服务管理的知识。

什么是服务

服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独立的网络服务。

对于这些服务,我们可以通过运行主程序来启动或关闭服务,也可以通过系统提供的service和chkconfig来管理。

服务的分类

Linux中的服务按照安装方法不同可以分为RPM包默认安装的服务和源码包安装的服务两大类。

其中,RPM包默认安装的服务又因为启动与自启动管理方法不同分为独立的服务和基于xinetd的服务。

RPM包

RPM包默认安装的服务。这些服务是通过RPM包安装的,可以被服务管理命令识别。这些服务又可以分为两种:

1)独立的服务

就是独立启动的意思,这种服务可以自行启动,而不用依赖其他的管理服务。因为不依赖其他的管理服务,所以,当客户端请求访问时,独立的服务响应请求更快速。

目前,Linux中的大多数服务都是独立的服务。

2)基于xinetd的服务

这种服务就不能独立启动了,而要依靠管理服务来调用。这个负责管理的服务就是xinetd服务。xinetd服务是系统的超级守护进程,其作用就是管理不能独立启动的服务。

当有客户端请求时,先请求xinetd服务,由xinetd服务去唤醒相对应的服务。当客户端请求结束后,被唤醒的服务会关闭并释放资源。

样做的好处是只需要持续启动xinetd服务,而其他基于xinetd的服务只有在需要时才被启动,不会占用过多的服务器资源。但是这种服务由于在有客户端请求时才会被唤醒,所以响应时间相对较长。

源码包

源码包安装的服务。这些服务是通过源码包安装的,所以安装位置都是手工指定的。由于不能被系统中的服务管理命令直接识别,所以这些服务的启动与自启动方法一般都是源码包设计好的。每个源码包的启动脚本都不一样,一般需要查看说明文档才能确定。

RPM包和源码包的不同

1)编译使用不同

RPM包是经过编译的软件包,安装更快速,不易报错,但不再是开源的。

源码包是开源的,自定义性强,通过编译安装更加适合系统,但是安装速度较慢,编译时容易报错。

2)安装位置不同

源码包安装到我们手工指定的位置当中,而RPM包安装到系统默认位置当中(可以通过rpm -ql 包名命令查询)。

也就是说,RPM包安装到系统默认位置,可以被服务管理命令识别,但是源码包安装到手工指定位置,当然就不能被服务管理命令识别了(可以手工修改为被服务管理命令识别)。

对服务进行管理

通过主程序管理服务

通过手动执行主程序来启动服务,首先要知道主程序保存的路径。例如,手动启动Apache服务,需要知道Apache主程序的存储路径即可,/usr/local/apche2/bin/apachectl start开启服务,/usr/local/apche2/bin/apachectl stop停止服务。绝大多数通过源码安装的软件都需要我们手动指定路径来启动服务。

通过service管理服务

如果通过rpm或yum安装,则应用程序一般会在/etc/init.d目录下创建对应的启动脚本,我们可以通过service命令来管理服务。service命令其实是去/etc/init.d目录下,去执行相关程序。

有时更改了服务配置后,不想停止服务的情况下来使配置生效,可以通过reload参数来重新加载配置文件,或者是你更改配置不知道新的配置是否正确,或重启服务后是否会导致服务无法启动,可以使用condrestart选项,此时系统会测试新的配置文件是否有问题,没问题的才会重启,否则不会用新配置来重启服务。

通过chkconfig管理开机启动服务

由于Linux是服务器版的操作系统,所以需要将很多服务设置为开机启动。chkconfig命令可以用来管理开机启动项,但设置开机启动时需要指定运行级别。

Linux操作系统正常情况下可以在六种模式(4暂时未使用)下启动并分别用数字表示:1代表关机模式,2代表无NFS网络的字符界面模式,3代表全功能字符界面模式,4暂时未定义使用,5代表图形界面模式,6代表重启模式。

每个级别都有启动和不启动的服务,通过runlevel命令查看当前所处的运行级别,通过init n来改变运行级别。

通过systemctl管理服务

从CentOS 7开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动(chkconfig)和管理系统服务(service)的相关命令全部由systemctl命令来代替。

Linux软件安装——服务管理的更多相关文章

  1. Linux软件安装——服务管理的命令

    Linux软件安装——服务管理的命令 摘要:本文主要学习了Linux系统中服务管理的命令. service命令 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启 ...

  2. 源码包---linux软件安装与管理

    源代码推荐保存位置: /usr/local/src 软件安装位置: /usr/local 如何确定安装过程报错: 安装过程停止 并出现error / warning / no 的提示 ./config ...

  3. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  4. Linux软件安装管理之——dpkg与apt-*详解

    Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...

  5. Linux基础学习(6)--Linux软件安装

    第六章——Linux软件安装 一.软件包管理简介 1.软件包分类: (1)源码包:脚本安装包 (2)二进制包(RPM包.系统默认包) 2.源码包: (1)源码包的优点:开源,如果有足够的能力,可以修改 ...

  6. Linux软件安装,RPM与YUM

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843955.html ...

  7. Linux软件安装中RPM与YUM 区别和联系

    .tc-nav-row{ height:38px; margin: 8px 15px; } .tc-nav-tab{ text-align: center; color:#333333; line-h ...

  8. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  9. Linux软件安装——软件包

    Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改 ...

随机推荐

  1. vscode 格式化代码 与 eslint 有冲突的问题解决

    项目中配置了eslint后,在使用vue界面里格式化的时候总是不一致.然后在配置中加了配置也无效(File - Preference - Setting) 查了下原因是在vue开发的时候我们一般都安装 ...

  2. npm报错及解决

    nodejs安装之后 无法使用 npm的解决方法 首先我们要知道Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node.js 使用了一个事件驱动.非阻塞式 I ...

  3. Spring Boot可执行Jar包运行原理

    目录 1. 打可执行Jar包 2. 可执行Jar包内部结构 3. JarLauncher 4. 简单总结 5. 远程调试 Spring Boot有一个很方便的功能就是可以将应用打成可执行的Jar.那么 ...

  4. [Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类

    广告投放系统启动主类说明 /** * SponsorApplication for 广告赞助商/投递服务启动类 * 添加注解{@link EnableFeignClients}之后,当前微服务就可以调 ...

  5. Vim 宏实战操作

    宏的概念 什么是宏呢?英文名:macro,代表一串命令的集合. 示例操作文本 SELECT * FROM `edu_ocr_task` WHERE ((`userId`=284871) AND (`u ...

  6. 松软科技web课堂:SQLServer之MIN() 函数

    MIN() 函数 MIN 函数返回一列中的最小值.NULL 值不包括在计算中. SQL MIN() 语法 SELECT MIN(column_name) FROM table_name 注释:MIN ...

  7. HTTP中的Accept-Encoding、Content-Encoding、Transfer-Encoding、Content-Type

    Accept-Encoding和Content-Encoding Accept-Encoding和Content-Encoding是HTTP中用来对采用何种压缩格式传输正文进行协定的一对header. ...

  8. ES6-对象赋值,key值得构建,is()方法对比对象,assign()合并对象

    ES6对象赋值: // es5 let name = "ananiah"; let skill ='web'; let obj = {name:name,skill:skill}; ...

  9. 从华为“鸿蒙”备胎看IT项目建设

    别误会啊,本文并不在讲大家在做IT项目建设的时候学华为做一个备胎系统,以防正主系统崩掉之后能够及时替换到备胎系统里面,不影响业务. 前段时间华为被美帝制裁,然后各家组织对华为各种限制.然而华为整体布局 ...

  10. Dynamics CRM命令栏定制基础知识及手动编辑customization.xml实例

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复166或者20151028可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 前面的博文:Dynamics C ...