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. JMeter内存溢出:java.lang.OutOfMemoryError: Java heap space解决方法

    一.问题原因 用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误. 原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JV ...

  2. HTML空元素

    什么是空元素? 首先空元素下是没有子级节点和内容的.然后空元素是在开始标签中关闭的,也就是说空元素没有闭合标签的. 在HTML中的空元素有以下几个: <area> <base> ...

  3. Thymeleaf常用语法:模板片断

    系统中的很多页面有很多公共内容,例如菜单.页脚等,这些公共内容可以提取放在一个称为“模板片断”的公共页面里面,其它页面可以引用这个 “模板片断”内容. 一.模板片断的定义 可以是html标签,也可以使 ...

  4. 使用VSCode创建一个Vue项目

    vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. 安装vue-cli之前,需要先安装了vue和webpack · node -v          //(版本低引起:bas ...

  5. [日常] windows下使用vscode配合xebug调试php脚本

    windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,php7.3应该是有的,php7.3.4好像没有默认是不加载这个扩展 ...

  6. private构造器和单例模式

    // hiding/Lunch.java // Demonstrates class access specifiers. Make a class // effectively private wi ...

  7. 面向对象程序设计(JAVA) 第15周学习指导及要求

    2019面向对象程序设计(Java) 第15周学习指导及要求(2019.12.6-2019.12.13)   学习目标 (1) 掌握菜单组件用途及常用API: (2) 掌握对话框组件用途及常用API: ...

  8. macOS 安装 Docker Desktop CE(转)

    现在基本上都使用docker进行部署项目,所以还是有必要学习下,关于docker的简介这里就不在描述,本文转载自https://yeasy.gitbooks.io/docker_practice/co ...

  9. 洛谷 SP14932 LCA - Lowest Common Ancestor

    洛谷 SP14932 LCA - Lowest Common Ancestor 洛谷评测传送门 题目描述 A tree is an undirected graph in which any two ...

  10. C# 二维数组 转换成 DataTable

    C# 数据转换 Overview C# 窗体操作中,有些比较特别的操作.但是为了方便我们不得不使用一些比较特别的手段. C#中二维数组转DataTable 首先,我们看一下我对二维数组的数据处理.这次 ...