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

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

関連記事

td-agentでRails 5のproduction.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。 今回はrails 5のproduction ログをtd-agentで取得してみたいと思います。 rails5からログのフォーマットが …

ruby on railsで出力されるlog(ログ)のフォーマットを変更する

概要 みなさんこんにちはcandleです。今回はrailsのログに関する記事です。railsは決まった記述でログを出力します。 webアプリケーションを実行中におかしな挙動が合った場合はこのログをもと …

td-agentでRails 4のproduction.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。今回はrails 4のproduction ログをtd-agentで取得してみたいと思います。 数年前にも同じ記事を書いたのですが、説 …

AMIMOTO AMIのnginx上でvirtual hostを設定してphpサービスをリリースする

概要 みなさんこんにちはcandleです。今回はAMIMOTO AMIのnginx上でバーチャルホストを使う場合の設定をやってみたいと思います。 AMIMOTO AMIは高速でwordpressを作成 …

gitのリモートプライベートリポジトリを公開鍵認証を使って環境構築する

概要 みなさんこんにちはcandleです。 今回はgitのリモートプライベートリポジトリを作ってみたいと思います。 リモートリポジトリと言えば、Githubとかbitbucketが有名だと思います。会 …

  • English
  • 日本語

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