一个懒癌患者的自言自语



自定义systemct服务

假设redis为编译安装,安装目录为/usr/loacl/redis,我们将redis-server 和 redis-cli 移到环境变量目录(/usr/loacl/bin)并给予执行权限:

1. cp /usr/loacl/redis/redis-server  /usr/loacl/bin/
2. cp /usr/loacl/redis/redis-cli  /usr/loacl/bin/
3. chmod +x redis-server && chmod +x redis-cli

然后在/lib/systemd/system目录下创建一个脚本文件redis.service,里面的内容如下:

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecReload=/usr/local/bin/redis-server -s reload
ExecStop=/usr/local/bin/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • [Unit] 表示这是基础信息

    • Description 是描述
    • After 是在那个服务后面启动,一般是网络服务启动后启动
  • [Service] 表示这里是服务信息

    • ExecStart 是启动服务的命令
    • ExecReload 是重启服务的指令
    • ExecStop 是停止服务的指令
  • [Install] 表示这是是安装相关信息

    • WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

刷新刚刚配置的systemctl使其生效

systemctl daemon-reload

设置开机启动

systemctl enable redis.service

About ME

about me

kevin

一个在it道路上蹒跚学步的人

心有多大,舞台就有多大,一直奔跑在自己的路上!

Contact ME