Linux笔记(69)——配置软件服务化并开机启动

2024-05-23 08:58

本文主要是介绍Linux笔记(69)——配置软件服务化并开机启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux系统在启动的时候会先启动一个叫做init 的进程,然后由该进程启动其他的服务和环境,例如网络服务,多用户环境等。

运行级别

什么是操作系统运行级别?Linux操作系统运行级别有以下几个级别:

级别英文描述中文描述
0halt(Do Not set initdefault to this)表示关机
1single user mode单用户模式
2multiuser,without NFS无网络连接的多用户命令模式
3full multiuser mode有网络连接的多用户命令模式
4unused不用
5X11带图形界面的多用户模式
6reboot(Do Not set initdefault to this)重启

对照上面的表格,如果你的linux系统是图形界面的,比如ubuntu桌面版,那么你当前系统的运行级别就是5.

如果是linux命令行,那么你当前系统的运行级别就是2或3,但2是无网络的,所以大多数情况都是3(可以联网)。

我们可以使用runlevel 命令来查看当前系统的运行级别,例如:

[root@VM_22_157_centos Runtime]# runlevel
N 3

说明当前运行级别是3.

软件服务化

我们一般会在linux上安装各种各样的软件服务,比如mysql服务,nginx服务。

将安装好的软件的启动脚本复制到/etc/init 目录下,我们就可以使用service 命令来管理该服务,例如:

service nginx start
service nginx status
service nginx stop

chkconfig配置服务运行级

将软件配置成service服务之后,我们就可以将服务配置成开机自启。这时候上面讲到的系统运行级别就使用到了。

例如我将nginx的运行级配置成3,那么就只有在系统运行级别为3的时候,nginx服务才会开机自启。

那么具体如何配置呢?我们使用chkconfig 命令:

语法:

chkconfig [--add][--del][--list] [系统服务名称]

参数:
1. --add :添加系统服务
2. --del :删除系统服务
3. --list:显示所有运行级系统服务的运行状态信息

例如:

[root@centos7-190:bin]$ chkconfig --listmysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
php-fpm         0:off   1:off   2:on    3:on    4:on    5:on    6:off
pureftpd        0:off   1:off   2:on    3:on    4:on    5:on    6:off
redis           0:off   1:off   2:on    3:on    4:on    5:on    6:off

可以很清晰的看出,mysql在3,4,5这三个运行级别下是启动的。其他的同理。

现在我们尝试将nginx服务设置为开机自启:

在nginx启动脚本复制到/etc/init 的前提下,使用:

chkconfig --add nginx

然后修改nginx运行级别(在3和5运行级别下启动)

chkconfig --level 35 nginx on

chkconfig --level的具体用法如下:

chkconfig [--level <运行级别代号>] [系统服务] [on/off/reset]

参数:
1. --level :服务的级别
2. --on:开启系统服务
3. --off:关闭系统服务

总结

将nginx配置开机自启命令如下:

#复制nginx启动脚本到/etc/init/下,具体路径为/etc/init/nginx
chkconfig --add nginx
chkconfig --level 35 nginx on

这篇关于Linux笔记(69)——配置软件服务化并开机启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996203

相关文章

linux生产者,消费者问题

pthread_cond_wait() :用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或pthread_cond_broadcast来唤醒它。 pthread_cond_wait() 必须与pthread_mutex 配套使用。pthread_cond_wait()函数一进入wait状态就会自动release mutex。当其他线程通过pthread

随想录 Day 69 并查集 107. 寻找存在的路径

随想录 Day 69 并查集 107. 寻找存在的路径 理论基础 int n = 1005; // n根据题目中节点数量而定,一般比节点数量大一点就好vector<int> father = vector<int> (n, 0); // C++里的一种数组结构// 并查集初始化void init() {for (int i = 0; i < n; ++i) {father[i] = i;}

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。  从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

IDEA配置Tomcat远程调试

因为不想把本地的Tomcat配置改乱或者多人开发项目想测试,本文主要是记录一下,IDEA使用Tomcat远程调试的配置过程,免得一段时间不去配置到时候忘记(毕竟这次是因为忘了,所以才打算记录的…) 首先在catalina.sh添加以下内容 JAVA_OPTS="-Dcom.sun.management.jmxremote=-Dcom.sun.management.jmxremote.port