Centos 开机自动启动服务方案第一篇

玩Centos经历一段时间了,Linux系统总是有很多形形色色的服务。 如何管理这些服务了? Centos 这位大哥为我们提供了系统服务管理Systemd ,类似Windows Serivces.msc Ubuntu Init。 Systemd有个小弟 systemctl 命令。它提供 service 和 chkconfig 命令的组合。如 systemctl list-unit --type=service 查看所有服务。可以看看 http://man.linuxde.net/systemctl。 如何将程序服务方式开机自动启动? 共两种:systemctl、chkconfig

  • systemctl 方式:
  1. 编写相应脚本,每个服务对应一个脚本,并把脚本放置特定的目录:系统 /usr/lib/systemd/system,用户 /usr/lib/systemd/user 。 脚本文件必须.service结尾,内容分为3部分:[Unit]、[Service]和[Install],我写的这个服务用于开机运行Redis项目,reids.service 文件具体内容如下:
[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
ExecStop=/usr/libexec/redis-shutdown
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

[Unit]部分主要是对这个服务的说明。 内容包括Description和After,Description用于描述服务,After用于描述服务类别
[Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里 Type=forking: 后台运行的形式, PIDFile: 存放PID的文件路径, ExecStart: 服务的具体运行命令, ExecReload: 重启命令, ExecStop: 停止命令, PrivateTmp=True: 服务分配独立的临时空间, 注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,相对路径则会报错
[Install]部分是服务安装的相关设置,可设置为多用户的

  1. 754的权限保存在/usr/lib/systemd/system目录下
  2. systemctl enable redis

systemctl enable xxxx"服务名(文件名不带后缀)" 将所编写的服务添加至开机启动 需要对脚本设置权限,使用 systemctl start xxxx ”服务名(文件名不带后缀)“ 启动服务
systemctl status xxxx “服务名(文件名不带后缀)“ 查看服务状态,包括错误信息和其他服务信
systemctl stop xxxx ”服务名(文件名不带后缀)“ 停止服务

转载于:https://my.oschina.net/fsilence/blog/919215

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值