Linux服务的简介与分类

服务的简介与分类

服务的分类

在这里插入图片描述

查询已安装的服务和区分服务

#列出所有rpm包默认安装服务的自启动状态
[root@localhost ~]# chkconfig --list atd
atd            	0:关闭	1:关闭	2:关闭	3:启用	4:启用	5:启用	6:关闭
[root@localhost ~]# chkconfig --list sshd
sshd           	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭

centos6服务管理

独立服务管理
#使用启动脚本启动服务
[root@localhost ~]# /etc/init.d/httpd start
正在启动 httpd:

#使用service命令来启动独立的服务
[root@localhost ~]# service httpd start
正在启动 httpd:

#使用chkconfig服务自启动管理命令
[root@localhost ~]# chkconfig --level 级别 httpd on
#修改rc.local文件设置服务自启动
[root@localhost ~]# vim /etc/rc.d/rc.local
#使用ntsysv管理自启动
ntsysv [-- level 运行级别]
- -level:可以指定设定自启动的运行级别
上下键:在不同服务之间移动。
空格键:选定或取消选定。*为自启动。
tab键:在不同项目之间切换。
F1键:服务详情。

运行级别
0:关机 1:单用户模式 2:某些网络功能没有开启
3:完全功能的字符界面 4:保留 5:图形化 6:重启系统
基于xinetd服务管理

早期的linux操作系统认为都是监听网络,就设置一个超级进程监听全部端口,那个端口有数据就监听那个程序,xinetd就此诞生了。xinetd管理所有端口,当端口有请求到达时就启动对应端口处理服务进程,导致结果是响应变慢。

#安装xinetd
[root@localhost ~]# yum -y install xinetd
#查看配置文件
[root@localhost ~]# vim /etc/xinetd.d/rsync
#服务名称
service rsync
{
        disable = yes   #服务不启动 修改为no就是服务启动
        flags           = REUSE  #设定TCP、IP socket可重用
        socket_type     = stream #套接字类型
        wait            = no     #允许多个连接同时连接
        user            = root   #启动用户为root
        server          = /usr/bin/rsync   #服务启动程序
        server_args     = --daemon    
        log_on_failure  += USERID  #登录失败后,记录用户的ID
}
#重启服务
service xinetd restart
源码包服务管理
启动管理
/usr/local/apache2/bin/apachectl start|stop|restart|...
自动管理
[root@localhost ~]# vim /etc/rc.d/rc.local
#内容
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/usr/local/nginx/sbin/nginx
让源码包服务被服务管理命令识别

1.卸载apache服务,保证准确性

[root@localhost ~]# yum -y remove httpd

2.安装源码包服务,并启动

[root@localhost ~]# yum -y install gcc* pcre pcre-devel
[root@localhost ~]# cd /lamp/
[root@localhost lamp]# tar -xvf apr-1.4.6.tar.gz
[root@localhost lamp]# cd apr-1.4.6
[root@localhost apr]# ./configure
[root@localhost apr]#make && make install
[root@localhost apr]# cd ..
[root@localhost lamp]# tar -xvf apr-util-1.4.1.tar.gz
[root@localhost lamp]# cd apr-util-1.4.1
[root@localhost apr-util-1.4.1]# ./configure -with-apr=/usr/local/apr
[root@localhost apr-util-1.4.1]# make && make install
[root@localhost apr-util-1.4.1]# cd ..
[root@localhost lamp]# tar -xvf pcre-8.10.tar.gz
[root@localhost lamp]# cd pcre-8.10
[root@localhost pcre-8.10]# ./configure
[root@localhost pcre-8.10]# make && make install
[root@localhost pcre-8.10]# cd ..
[root@localhost lamp]# tar -xvf httpd-2.4.7.tar.gz
[root@localhost lamp]# cd httpd-2.4.7
[root@localhost httpd-2.4.7]# ./configure --prefix=/usr/local/apache2
[root@localhost httpd-2.4.7]# make && make install
[root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain
name, using localhost.localdomain. Set the 'ServerName' directive globally to
suppress this message
[root@localhost httpd-2.4.7]# netstat -tlun | grep 80
tcp 0 0 :::80 :::*
LISTEN
#启动源码包apache,查看端口是否启动。
3)源码包apache服务被service命令管理启动
[root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
#service命令其实只是在/etc/init.d/目录中查找是否有服务启动脚本,所以我们只需要做个软连接把源码包的启动脚本链到/etc/init.d/目录中,就能被service命令管理了。
[root@localhost ~]# service apache restart
AH00558: httpd: Could not reliably determine the server's fully qualified domain
name, using localhost.localdomain. Set the 'ServerName' directive globally to
suppress this message
#测试service命令,restart和start生效

centos7服务管理

systemd有哪些优点?
  1. 并行处理所有服务、加速开机流程;在init启动流程中,服务是一项一项启动的。在systemd可以所有服务同时启动

  2. 命令相对简单:和之前的SystemV相比,所有操作都是systemctl命令来控制。而之前的systemV中有init、service、chkconfig等。

  3. 服务依赖性检测:如果B服务是架构在A服务上启动的,当没有A服务时就先启动b服务的话,systemd会自动启动A服务

    systemd的配置文件位置
/usr/lib/systemd/system   #服务启动脚本存放位置
/run/systemd/system   #系统执行过程中产生的服务脚本
/etc/systemd/system   #管理员根据自己主机系统的需求所创建的执行脚本。
systemctl管理服务

systemctl:管理服务状态

格式:
	systemctl 选项 执行服务的守护进程名称
选项:	
	start、stop、restart、status
	reload(重新读取服务配置文件)、enable(开机启动)、disable(开机不启动)、is—enable(查看是否开机自启动)
	
常见后缀:
	.service:用来启动和控制守护进程和进程的服务单元
	.target:执行环境类型,也就是启动流程中窗口化和命令行
切换系统环境
centos7还是可以使用init*的命令。没有运行级别的概念,只有切换操作环境。
	1.图形化界面:graphical.target
	2.命令行模式:multi-user.target
	3.rescue.target:救援模式。 
	4.emergency.target:紧急处理系统的错误
命令格式:systemctl isolate + 操作系统环境
使用systemctl管理源码包nginx

安装依赖关系

[root@localhost nginx-1.6.2]# yum -y install gcc* zlib zlib-devel.pcre pcre-devel

编译执行安装

[root@localhost nginx-1.6.2]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.6.2]# make && make install

启动

[root@localhost nginx-1.6.2]# /usr/local/nginx/sbin/nginx

在这里我们将nginx暂停,会发现失败

[root@localhost nginx-1.6.2]# systemctl stop nginx
Failed to stop nginx.service: Unit nginx.service not loaded.

使用vim打开一个文件

[root@localhost nginx-1.6.2]# vim /usr/lib/systemd/system/nginx.service
#输入配置文件
[Unit]
Description=nginx   #服务描述
After=network.target  #表示服务在network服务启动后启动

[Service]
Type=forking     #表示后台运行模式
ExecStart=/usr/local/nginx/sbin/nginx  #服务启动脚本位置
ExecReload=/usr/local/nginx/sbin/nginx -s reload  #重新加载配置文件
ExecStop=/usr/local/nginx/sbin/nginx -s stop   #停止服务
PrivateTmp=true

[Install]
WantedBy=multi-user.target   #表示此unity依附于multi模式

#系统后台服务重新读取
[root@localhost nginx-1.6.2]# systemctl daemon-reload 
[root@localhost nginx-1.6.2]# systemctl stop nginx
[root@localhost nginx-1.6.2]# ps -aux | grep nginx
root      23910  0.0  0.0  24864   756 ?        Ss   19:08   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    23911  0.0  0.1  27372  1508 ?        S    19:08   0:00 nginx: worker process
root      24105  0.0  0.0 112824   988 pts/2    R+   19:14   0:00 grep --color=auto nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/647021.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MDK安装

MDK安装 1 MDK的差异2 切换MDK3 安装芯片支持包注意点 1 MDK的差异 不同版本MDK有略微的差别,比如:MDK536.EXE,支持版本5的交叉编译链。如下图所示: 而MDK539.EXE不支持版本5的交叉编译链,所以工作的时候&#xff0c…

[JDK工具-6] jmap java内存映射工具

文章目录 1. 介绍2. 主要选项3. 生成java堆转储快照 jmap -dump4. 显示堆详细信息 jmap -heap pid5. 显示堆中对象统计信息 jmap -histo pid jmap(Memory Map for Java) 1. 介绍 位置:jdk\bin 作用: jdk安装后会自带一些小工具,jmap命令(Mem…

vue3模板语法以及attribute

模板语法​ Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML 解析器解析。 在底层机制中,Vue 会将模板编译成高度优化…

Python Beautiful Soup 使用详解

大家好,在网络爬虫和数据抓取的领域中,Beautiful Soup 是一个备受推崇的 Python 库,它提供了强大而灵活的工具,帮助开发者轻松地解析 HTML 和 XML 文档,并从中提取所需的数据。本文将深入探讨 Beautiful Soup 的使用方…

解决:LVGL+GUI Guider 1.7.2运行一段时间就会卡死死机,内存泄露溢出的问题

概括: 我在使用NXP官方GUI Guider生成的代码出现了内存泄漏的问题。但我遇到的并不是像其他人所说的style的问题,如下链接。而是因为在页面渲染之前就使用了该页面内的组件,内存就会不断增加。 LVGL 死机 内存泄漏_lvgl 内存溢出-CSDN博客 运…

springboot整合kkFileView部署,前端使用

前言: 官方文档:https://kkfileview.keking.cn/zh-cn/docs/production.html docker方式或加入星球获取发行包直接获取启动,无需以下步骤: 拉取镜像# 网络环境方便访问docker中央仓库 docker pull keking/kkfileview:4.1.0# 网…

明星IP切片带货爆单营,0基础搞定IP切片带货短视频(69节课)

把握带货趋势,了解切片流程,剪辑带货创收营 课程目录: 01第一章实操链路-第一节IP选择.mp4 02第一章实操链路-第二节账号准备.mp4 03第一章实操链路-第四节开通权限.mp4 04第一章实操链路-第五节货品准备.mp4 05第一章实操链路-第六节素…

Java进阶学习笔记26——包装类

包装类: 包装类就是把基本类型的数据包装成对象。 看下API文档: deprecated:极力反对、不赞成的意思。 marked for removal:标识为去除的意思。 自动装箱:基本数据类型可以自动转换成包装类。 自动拆箱:…

编写子函数+最大公约数和最小公倍数

目录 计算级数和 判断并找出非素数 主函数操作流程 求最大公约数和最小公倍数 编写子函数,该函数的功能是是计算下列级数和,并将和值返回主调函数输出。数据由主函数输入。 fun 函数 sum 函数 main 函数 注意事项 编写函数,该函数的…

Jenkins pipeline发布前端项目

说明:第一次使用jenkins生成pipeline片段,做个记录... 1.全局工具配置添加自定义node版本 2.系统管理添加前端应用部署服务器 2.1 点击高级选择账号密码验证方式,添加服务器的用户和密码 3.系统管理--凭据--系统--全局凭据--添加自己的git凭据…

总是等不是办法,向媒体投稿你得学会用新方法

初入信息宣传领域,我怀揣着对文字的热爱与传播价值的热情,肩负起了单位活动的宣传报道重任。那时的我,满脑子都是传统的投稿思维:精心撰写每一篇稿件,然后逐一搜寻各大媒体的投稿邮箱,一封封邮件满怀期待地发出,像播撒希望的种子,渴望在广袤的媒体土壤中生根发芽。然而,理想很丰…

Hibernate

主流ORM框架Object Relation Mapping对象关系映射,将面向对象映射成面向关系。 如何使用 1、导入相关依赖 2、创建Hibernate配置文件 3、创建实体类 4、创建实体类-关系映射文件 5、调用Hibernate API完成操作 具体操作 1、创建 Maven工程,在pom.xml中导…

基于PID的单片机温度控制系统设计

基于PID的温度控制系统设计 摘要 温度是工业上最基本的参数,与人们的生活紧密相关,实时测量温度在工业生产中越来越受到重视,离不开温度测量所带来的好处,因此研究控制和测量温度具有及其重要的意义。 本设计介绍了以AT89C52单片…

Go GORM介绍

GORM 是一个功能强大的 Go 语言 ORM(对象关系映射)库,它提供了一种方便的方式来与 SQL 数据库进行交互,而不需要编写大量的 SQL 代码。 GORM的关键特性 全功能的ORM:支持几乎所有的ORM功能,包括模型定义、基…

揭秘C++ String容器:字符串操作的艺术

目录 ​编辑 引言 一、初识std::string:构造与初始化 二、字符串的操纵艺术:拼接、查找与替换 三、访问与遍历:字符的细腻触感 四、大小与容量:动态调整的智慧 五、进阶功能:探索更多可能 结语 引言 在C标准库…

vue3+electron+typescript 项目安装、打包、多平台踩坑记录

环境说明 这里的测试如果没有其他特别说明的,就是在win10/i7环境,64位 创建项目 vite官方是直接支持创建electron项目的,所以,这里就简单很多了。我们已经不需要向开始那样自己去慢慢搭建 yarn create vite这里使用yarn创建&a…

特殊变量笔记3

输入一个错误命令, 在输出$? 特殊变量:$$ 语法 $$含义 用于获取当前Shell环境的进程ID号 演示 查看当前Shell环境进程编号 ps -aux|grep bash输出 $$ 显示当前shell环境进程编号 小结 常用的特殊符号变量如下 特殊变量含义$n获取输入参数的$0, 获取当前She…

将3D检测的box框投影到BEV图片上

前言 点云数据作为一种丰富的三维空间信息表达方式,通常用于自动驾驶、机器人导航和三维建模等领域。然而,点云数据的直观性不如二维图像,这限制了它在一些需要快速视觉反馈的应用场景中的使用。本文将探讨如何将点云数据转换为二维图像&…

Thymeleaf 搭建家居网首页

文章目录 1.引入Thymeleaf sunliving-commodity模块1.在resources目录下引入Thymeleaf 所需资源2.pom.xml引入Thymeleaf依赖3.application.yml 关闭缓存,使页面实时刷新4.在application-prod.yml开启缓存5.编写com/sun/sunliving/commodity/web/IndexController.jav…

OpenUI 可视化 AI:打造令人惊艳的前端设计!

https://openui.fly.dev/ai/new 可视化UI的新时代:通过人工智能生成前端代码 许久未更新, 前端时间在逛github,发现一个挺有的意思项目,通过口语化方式生成前端UI页面,能够直观的看到效果,下面来给大家演示下 在现代…