Centos中配置开机自启动的方式汇总(下)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: Centos中配置开机自启动的方式汇总(下)

3、Centos7通过systemctl enble配置服务自启动


在Centos7后,更推荐通过systemctl来控制服务。


任务 旧指令 新指令
使某服务自动启动 Chkconfig --level 3 httpd on systemctl enable httpd.service
使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service
检查服务状态 service httpd status systemctl status httpd.service (服务详细信息)
systemctl is-active httpd.service(仅显示是否Active)
显示所有已启动的服务 chkconfig --list systemctl list-unit-files
systemctl list-units --type=service
启动某服务 service httpd start systemctl start httpd.service
停止某服务 service httpd stop systemctl stop httpd.service
重启某服务 service httpd restart systemctl restart httpd.service


1、systemctl服务的目录介绍

知道服务的管理是通过 systemd,而 systemd 的配置文件大部分放置于 /usr/lib/systemd/目录内。但是 Red Hat 官方文件指出, 该目录的文件主要是原本软件所提供的设置,建议不要修改!而要修改的位置应该放置于 /etc/systemd/system/目录内。


详情查看:https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/150.html


Centos 系统服务脚本目录:


/usr/lib/systemd/


有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:


/usr/lib/systemd/system/


反之,用户登录后才能运行的程序,存在用户(user)里,服务以.service结尾。


/usr/lib/systemd/user/


2、建立kibana开机服务

1)、建立kibana服务文件


cd /etc/systemd/system/
vim kibana.service


脚本内容:

[Unit]    
Description=nginx    
After=network.target         
[Service]    
Type=forking    
User=nginx
Group=nginx
ExecStart=/etc/init.d/nginx start    
ExecReload=/etc/init.d/nginx restart    
ExecStop=/etc/init.d/nginx  stop    
PrivateTmp=true    
[Install]    
WantedBy=multi-user.target


注意⚠️:

这里ExecStart、ExecReload、ExecStop的命令还是借助了上文在/etc/init.d目录下配置kibana脚本来实现。

[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户


参数说明:

Description:描述服务

After:描述服务类别


[Service]服务运行参数的设置

Type=forking是后台运行的形式

User 服务启动用户

Group 服务启动用户组

ExecStart 为服务的具体运行命令

ExecReload 为重启命令

ExecStop 为停止命令

PrivateTmp=True表示给服务分配独立的临时空间


2)、赋予执行权限


chmod 754 kibana.service


依照上面的表格,权限组合就是对应权限值求和,如下:

7 = 4 + 2 + 1 读写运行权限

5 = 4 + 1 读和运行权限

4 = 4 只读权限.

这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。


3)、服务的启动、停止、开机启动


查看服务状态

//重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载
systemctl daemon-reload
//查看服务状态
systemctl status kibana.service



117.png

启动服务

116.png

其中,disabled说明服务还没有开启开机自启动。


开启服务开机启动


systemctl enable kibana.service


115.png


服务状态说明:

systemctl status 服务名称

状态

说明

loaded

系统服务已经初始化完成,加载过配置

active(running) 正有一个或多个程序正在系统中执行, vsftpd就是这种模式
atcive(exited) 僅執行一次就正常結束的服務, 目前並沒有任何程序在系統中執行
atcive(waiting) 正在執行當中,不過還再等待其他的事件才能继续处理
inactive 服务关闭
enbaled 服务开机启动
disabled

服务开机不自启

static 服务开机启动项不可被管理
failed 服务开机启动项不可被管理


常用服务文件


1.nginx.service

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target

2.mysql.service

[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
#ExecReload=/usr/local/mysql/support-files/mysql.server restart
#ExecStop=/usr/local/mysql/support-files/mysql.server stop
#PrivateTmp=true
[Install]
WantedBy=multi-user.target


4.redis.service

[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
User=www
Group=www
[Install]
WantedBy=multi-user.target


5.supervisord.service

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
SysVStartPriority=99
[Install]
WantedBy=multi-user.target


总结


本文主要总结了Centos上配置开机自启动的3种方式


方式一:直接在/etc/rc.d/rc.local中添加服务启动命令

方式二:通过chkconfig配置服务自启动

方式三:Centos7通过systemctl enble配置服务开机自启动


鸟哥的Linux私房菜

最详细的CentOS7设置自定义开机启动服务教程

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
253 1
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
100 2
|
2月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
124 1
|
2月前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
203 1
|
2月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
52 1
|
2月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
285 0
|
2月前
|
Linux
CentOS-Stream-9配置chfs
通过上述步骤,您就可以在CentOS Stream 9上配置并运行CHFS,为用户提供基于HTTP的文件分享服务。请注意,实际操作时应根据CHFS的具体版本和文档进行适当调整。
58 0
|
2月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
110 64
|
26天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
27天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。