centos7 systemctl配置开机自启动服务
2023-06-13 09:11:17 时间
centos7使用systemctl
替代原来/etc/init.d
,按官方的说法是提高系统服务的运行效率、服务配置更加简单易用,对于一些自定义的服务来配置开机自启动,是真的香!
概念理解
- 它是服务管理工具,融合之前service和chkconfig功能于一体
- 有系统(system)和用户(user)之分,可直接放
/lib/systemd/system
目录下 - 以.service结尾,一般分为3部分:Unit、Service、Install
参数说明
Unit:主要对服务的说明
- Description:用于描述服务而已
- After:用于描述服务类别
Service:关键部分,服务运行的具体配置
参数太多,下面只列出几个常用的关键参数,其它根据需要自行百度: 常用Type的几种类型:
Type=simple | 默认值,表示 ExecStart= 所设定的进程就是该服务的主进程。 |
---|---|
Type=forking | 后台运行的形式。以 fork 方式从父进程创建子进程,创建后父进程会立即退出,配合PIDFile=使用,以帮助 systemd 准确定位该服务的主进程。 |
Type=notify | 与simple类似,但约定服务会在就绪后向systemd发送一个信号,需要配合NotifyAccess来让Systemd接收消息。 |
- User:是设置服务运行的用户
- Group:是设置服务运行的用户组
- PIDFile:为存放PID的文件路径
- ExecStart:为服务的具体运行命令
- ExecReload:为重启命令
- ExecStop:为停止命令
- Environment:指定环境变量
注意:所有命令要求使用绝对路径,使用相对路径会报错。
Install:服务安装的相关设置,用来定义启动以及是否开机启动
- WantedBy:它的值是一个或多个 Target,当前 Unit 激活时(enable)符号链接会放入
/etc/systemd/system
目录下面以 Target 名 +.wants
后缀构成的子目录中 - Alias:当前 Unit 可用于启动的别名
使用案例
- 以uwsgi配置为例:
## cat /lib/systemd/system/uwsgi.service
[Unit]
Description=uWSGI Emperor
After=syslog.target
[Service]
#PIDFile=/run/uwsgi.pid
ExecStart=/usr/local/bin/uwsgi --ini /home/dengzhixu/crawl_data/uwsgi.ini
Restart=always
KillSignal=SIGQUIT
Type=notify
#Type=forking
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
- 添加可执行权限:
chmod +x /lib/systemd/system/uwsgi.service
常用命令
## 启动服务
systemctl start uwsgi.service
## 停止服务
systemctl stop uwsgi.service
## 重启服务
service uwsgi restart
systemctl restart uwsgi.service
## 服务自启动
systemctl enable uwsgi.service
## 服务关闭自动启动
systemctl disable uwsgi.service
## 检查服务状态
systemctl status uwsgi.service
## 显示所有已启动的服务
systemctl list-units --type=service
其它需要配置的服务,可自行参考画葫芦。 ----by 钢铁 648403020@qq.com 09.10.2020
相关文章
- CentOS7配置Apache多站点VirtualHost
- Centos7 安装和配置MySQL5.7
- CentOS7配置LLDP服务
- centos7配置国内yum源
- CentOS7安装tomcat7「建议收藏」
- centos7 本地yum源配置_centos官方yum源
- CentOS7安装MySQL8.0.12(mysql8版本有的地方还是有坑想好再用)
- CentOS7部署svn+apache
- Centos7 安装oracle11教程,看我你就会了!
- Centos7安装svn服务
- CentOS7升级PHP版本
- CentOS7 之 LVM 磁盘扩容
- Centos7下通过zabbix监控nginx status
- Centos7安装python3.7
- 安装配置:教你Centos7下通过yum安装Ceph分布式存储教程
- centos7 安装mysql和mysqlclient遇到的坑总结
- CentOS7下GitLab跨大版本升级的方法
- CentOS7连接XShell与网络配置的方法
- CentOS7系统防火墙开关、状态与自启详解程序员
- 详解CentOS7 安装 MariaDB 10.2.4的方法
- CentOS7启动MySQL服务的方法(centos7重启mysql)
- CentOS7系统下安装Oracle数据库(centos7安装oracle)
- Centos7安装Redis:一步步搭建Redis服务器(centos7安装redis)
- CentOS7简明教程:快速轻松安装MySQL(centos7安装mysql)