joppot

コピペで絶対動く。説明を妥協しない

サーバ

centos6.5にdaemon toolsをインストールする

投稿日:2014年7月22日 更新日:


fjoi4tga

概要

みなさんこんにちは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

mkdirpackage

今作成した/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

downloaddaemontool

解凍されるとadminというフォルダができます。tarファイルはもう不要なので削除しましょう。

ls
sudo rm daemontools-0.76.tar.gz

rmtarfile


daemon toolsをインストールする

adminフォルダのdaemontools-0.76フォルダに移動します。

cd admin/daemontools-0.76

srcフォルダがあると思います。

srcfolder

このフォルダの中にはdaemon toolsで使うソースコードが入っているのですが、そのsrcフォルダの中のconf-ccに対して書き込みを行います。私も参考サイトのコピペでやっているので、詳しい処理はわからないのですが、どうやら、errorに関する設定を上書きしているっぽいですね。

sudo echo gcc -O2 -include /usr/include/errno.h > src/conf-cc

confpatch

これでインストール準備が整いました。
srcフォルダのとなりに紛らわしいのですがpackageフォルダがありますね。packageフォルダの中のinstallコマンドを実行すればdaemontoolsがインストールされます。
インストールコマンドを実行します。

sudo ./package/install

installdaemontool

インストールが完了しました。


設定ファイルを記述する

上にも書いたように、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

svscanconf

最後に下のコマンドを実行すればdaemontoolsが使えるようになります。

sudo initctl reload-configuration
sudo initctl start svscan

startsvs

下のコマンドでsvscanが動いているか確認しましょう。

ps aux | grep svscan

runningsvscan

動いていますね。


まとめ

具体的な使い方は別の記事で紹介していと思います。今後、起動させるものとしてはmemcachedやfluentdをこのdaemontoolsを使って自動起動にしてみたいと思います。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

awsのec2上でredmineをnginxで使用する方法

概要 みなさんこんにちはcandleです。今回はredmineをec2上で使用する方法を紹介します。 redmineはrailsで作られたwebアプリケーションです。railsで作られているということ …

出力fluentdから収集fluentdへforwardを使ってログデータを送信する方法

概要 みなさんこんにちはcandleです。今回はfluentdサーバを2台使って、ログの収集を行ってみたいと思います。サーバ2台はどのような環境でも良いのですが、私が今回説明する環境は1つはMac P …

fluentdのs3 pluginを使用して日付区切りでログデータをS3に送信する

概要 みなさんこんにちはcandleです。今回はfluentdのs3プラグインを使用して、railsなどのログを日単位でS3に投げる方法を紹介します。もちろん、応用して年単位とか月単位、時間単位で区切 …

Reactをawsコマンドを使ってs3にデプロイする

概要 みなさんこんにちはcandleです。今回はcreate-react-appで作成したreactプロジェクトをS3にデプロイしてみたいと思います。React webのいいところはbuildして作ら …

ElastiCacheのmemcachedとEC2上のrailsとdalli-elasticacheを使ってキャッシュ管理する

概要 皆さんこんにちはcandleです。今回はaws上にあるElastiCacheというサービスを使って railsのキャッシュを管理したいと思います。 キャッシュというのはwebサービス上でよく使う …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー