deamontools怎么用?简单三步快速上手教程!

今天折腾了一下daemontools这玩意儿,差点没把我整崩溃。网上教程写得跟天书似的,看完更懵圈了。干脆自己动手踩坑,折腾一上午总算摸出点门道,分享下我的踩坑实录。

第一步:装包就给我整懵了

本来想着直接yum install完事儿,结果输完命令给我弹个大红字,压根没这包!跑去官方源看,好嘛debian系才有现成的。我这破centos7的机器得自己下源码编译。

  • 先抓了个最新的daemontools-0.*
  • 扔进/usr/local/src解压开干

结果./make敲下去,报错跟放鞭炮似的噼里啪。查了半天发现是编译环境没整还得装个glibc-static库。骂骂咧咧装了依赖再编译,这回总算是成功了。

第二步:这服务目录真邪门

看文档说要用svc命令管服务,但死活找不到启动脚本。翻了半小时才知道必须新建一个/service目录。行,老老实实:

  • mkdir -p /service
  • chmod 1755 /service

完事儿发现supervise(它自带的管理程序)死活不认目录权限,折腾到想砸键盘。发现是chmod 1755少打个空格,写成chmod1755了(手动白眼)。

第三步:写启动脚本差点去世

最难的就是这个run文件!文档写得跟谜语似的:

  • 在/service底下给每个服务建子目录
  • 每个目录里塞个叫run的可执行脚本

想监控个nginx进程试水:

#!/bin/sh

exec /usr/sbin/nginx -g 'daemon off;'

保存完chmod +x run提权限,满心欢喜执行svc -u /service/nginx启动。

结果等了三分钟屁反应没有!查日志发现是exec拼错成exce了(摔鼠标)。改完终于看到nginx进程起来,眼泪都要飙出来。

发现服务崩了它真能三秒自启,这波不亏。下次再让我搞这种源码安装的东西……(算了当我没说)