概要
みなさんこんにちはcandleです。今回はdaemon toolsというcent osのソフトウェアを入れてみましょう。
daemon toolsというのは簡単に言えば、サーバの電源をオンにしたら、自動的にソフトウェアを起動するものです。cent osにはchkconfigという便利なコマンドがあって、httpdやmysqldなどはそれを使って自動起動ができます。
しかし、gemやrvmやmakeを使ってソフトウェアを入れた場合、chkconfigが使えない事があります。
サーバが立ち上がったら、自動的にソフトウェアを動かすというすごく簡単なことなのですが、これをやろうとするとけっこう大変です。やっていきましょう。
今回も様々なサイトのやり方を参考にさせてもらいました。
前提
CentOSが自由に動かせる環境がある。
私はvagrantのCentOS6.5を使います。
必要なcentosのソフトウェアをインストールする
もしも、gccとwgetがまだCentOSに入っていなかったら、下のコマンドでインストールしましょう。
yum install gcc wget
デーモンツールをダウンロードする
それではdaemon toolsをダウンロードしましょう。
daemon toolsをダウンロードするpackageフォルダをルートディレクトリに作ります。
packageフォルダの権限を1755にします。
sudo mkdir /package sudo chmod 1755 /package
今作成した/packageフォルダに移動します。
cd /package
wgetコマンドでtarファイルをダウンロードします。
tarファイルを解凍します。
sudo wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz sudo tar -xzvf daemontools-0.76.tar.gz
解凍されるとadminというフォルダができます。tarファイルはもう不要なので削除しましょう。
ls sudo rm daemontools-0.76.tar.gz
daemon toolsをインストールする
adminフォルダのdaemontools-0.76フォルダに移動します。
cd admin/daemontools-0.76
srcフォルダがあると思います。
このフォルダの中にはdaemon toolsで使うソースコードが入っているのですが、そのsrcフォルダの中のconf-ccに対して書き込みを行います。私も参考サイトのコピペでやっているので、詳しい処理はわからないのですが、どうやら、errorに関する設定を上書きしているっぽいですね。
sudo echo gcc -O2 -include /usr/include/errno.h > src/conf-cc
これでインストール準備が整いました。
srcフォルダのとなりに紛らわしいのですがpackageフォルダがありますね。packageフォルダの中のinstallコマンドを実行すればdaemontoolsがインストールされます。
インストールコマンドを実行します。
sudo ./package/install
インストールが完了しました。
設定ファイルを記述する
上にも書いたように、daemontoolsはとても古いソースです。centos6以降ではsvscan.confにある設定を書かないと動かないとのことです。
編集しましょう。/etc/init/svscan.confをエディタで開きます。私は例によってemacsで開きますが、viでもvimでもなんでも良いです。
sudo emacs /etc/init/svscan.conf
下の内容を記述して保存しましょう。
start on runlevel [12345] respawn exec /command/svscanboot
最後に下のコマンドを実行すればdaemontoolsが使えるようになります。
sudo initctl reload-configuration sudo initctl start svscan
下のコマンドでsvscanが動いているか確認しましょう。
ps aux | grep svscan
動いていますね。
まとめ
具体的な使い方は別の記事で紹介していと思います。今後、起動させるものとしてはmemcachedやfluentdをこのdaemontoolsを使って自動起動にしてみたいと思います。