LoginSignup
7
8

More than 5 years have passed since last update.

Supervisorを使ってpresentを動かす

Last updated at Posted at 2014-12-19

golangで書かれたSlack bot でエンジニアに話題提供しよう
hakobeさんが作ってる、slack botを導入するにあたって、goのWebアプリケーションを動かすのにどういう環境が良いのかなと思って調べた所、Supervisorが良さそうだったので使ってみました。

本当はdeployとかいろいろ検討するポイントがあるのだけど、今回は個人で利用するので、supervisorで動かすところだけやりました。

環境

Ubuntu 14.04
go 1.4

presentのインストール

記事に書かれている通りなので割愛

Supervisorのインストール

sudo apt-get install supervisor
/etc/supervisor/supervidord.conf #こちらは必要に応じて編集

presentの起動設定を追加
ブログに記載されてる内容のコマンドをそのままcommandで指定しても期待通りには動かないので、supervisorのenvironmentに環境変数を記述する必要がある。というぐらいの違い。

/etc/supervisor/conf.d/present.conf
[program:present]
command=present
user=username
environment=PRESENT_SLACK_INCOMMING_URL="https://hooks.slack.com/services/ABCDEFG/HIJKLMN/1234567qwerty",PRESENT_DB_DSN="id:password@hostname/present?parseTime=true&charset=utf8",PRESENT_NAME="engineerkun",PRESENT_WAIT="900",PRESENT_NOOP_LIMIT="3",PORT="8080"
autorestart=true
stdout_logfile=/var/log/supervisor/jobs/present-supervisord.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=5
stdout_capture_maxbytes=1MB
redirect_stderr=true

動かし方

# 起動
sudo service supervisor start


# 確認
sudo service supervisorctl status
# present                          RUNNING    pid 10190, uptime 0:22:45
# 動いてるサービスが確認できる

# 停止
sudo supervisor stop

# 再起動
sudo supervisor restart

# 設定ファイルの読み込み
sudo supervisor reload

# presentの起動
sudo supervisorctl start present

# presentの再起動
sudo supervisorctl restart present

# presentの停止
sudo supervisorctl stop present

まとめ

自分用のメモです。
golangでWebアプリケーション作ったらどうやって運用してるのかなーという辺りを、いろいろ調べるきっかけになって勉強になりました。

普段は公開するほどドキュメントをまとめきれないのでEvernoteに書き留めてストックしてるのですが、試しに書いてみました。

面白いアプリを作ってくれたhakobeさんに感謝。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8