Soumettre la recherche
Mettre en ligne
配布用Supervisordによるnode.jsの運用
•
6 j'aime
•
2,445 vues
Y
yut148atgmaildotcom
Suivre
2012年7月18日に行われた、第2回 プロセス自動再起動ツール編での発表資料です。
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 18
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
JS開発環境を晒す。
JS開発環境を晒す。
Eiji Kuroda
Node js instruction
Node js instruction
recast203
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
Yikei Lu
shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果
Tsuyoshi Torii
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
真治 米田
Jenkinsについて
Jenkinsについて
Satoshi Namai
Recommandé
JS開発環境を晒す。
JS開発環境を晒す。
Eiji Kuroda
Node js instruction
Node js instruction
recast203
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
Yikei Lu
shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果
Tsuyoshi Torii
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
真治 米田
Jenkinsについて
Jenkinsについて
Satoshi Namai
Jenkins と groovy
Jenkins と groovy
Kohsuke Kawaguchi
俺とコーディング規約とツール
俺とコーディング規約とツール
Masayuki KaToH
Nodejs
Nodejs
和樹 川端
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010
Hiroh Satoh
株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料
leverages_event
Task Spooler を試した
Task Spooler を試した
y-uti
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
Tomoyuki Sato
Osc10do linux nextstep
Osc10do linux nextstep
smokey monkey
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
Outputz.vim
Outputz.vim
ryota ichie
20130412 titanium meetupvol7
20130412 titanium meetupvol7
Hiroshi Oyamada
Introduction for Browser Side MVC
Introduction for Browser Side MVC
Ryunosuke SATO
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Fuminobu Takeyama
Do not use document.write
Do not use document.write
Haruki Okada
Hudson初心者向けデモ
Hudson初心者向けデモ
cactusman
HTML5-pronama-study
HTML5-pronama-study
Naoya Inada
Dexcs2021 of install2
Dexcs2021 of install2
Etsuji Nomura
AsyncTask アンチパターン
AsyncTask アンチパターン
Hiroshi Kurokawa
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
Serviceability Toolsの裏側
Serviceability Toolsの裏側
Yasumasa Suenaga
Contenu connexe
Tendances
Jenkins と groovy
Jenkins と groovy
Kohsuke Kawaguchi
俺とコーディング規約とツール
俺とコーディング規約とツール
Masayuki KaToH
Nodejs
Nodejs
和樹 川端
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010
Hiroh Satoh
株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料
leverages_event
Task Spooler を試した
Task Spooler を試した
y-uti
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
Tomoyuki Sato
Osc10do linux nextstep
Osc10do linux nextstep
smokey monkey
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
Outputz.vim
Outputz.vim
ryota ichie
20130412 titanium meetupvol7
20130412 titanium meetupvol7
Hiroshi Oyamada
Introduction for Browser Side MVC
Introduction for Browser Side MVC
Ryunosuke SATO
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Fuminobu Takeyama
Do not use document.write
Do not use document.write
Haruki Okada
Hudson初心者向けデモ
Hudson初心者向けデモ
cactusman
HTML5-pronama-study
HTML5-pronama-study
Naoya Inada
Dexcs2021 of install2
Dexcs2021 of install2
Etsuji Nomura
AsyncTask アンチパターン
AsyncTask アンチパターン
Hiroshi Kurokawa
Tendances
(20)
Jenkins と groovy
Jenkins と groovy
俺とコーディング規約とツール
俺とコーディング規約とツール
Nodejs
Nodejs
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010
株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料
Task Spooler を試した
Task Spooler を試した
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
Osc10do linux nextstep
Osc10do linux nextstep
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Outputz.vim
Outputz.vim
20130412 titanium meetupvol7
20130412 titanium meetupvol7
Introduction for Browser Side MVC
Introduction for Browser Side MVC
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Do not use document.write
Do not use document.write
Hudson初心者向けデモ
Hudson初心者向けデモ
HTML5-pronama-study
HTML5-pronama-study
Dexcs2021 of install2
Dexcs2021 of install2
AsyncTask アンチパターン
AsyncTask アンチパターン
Similaire à 配布用Supervisordによるnode.jsの運用
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
Serviceability Toolsの裏側
Serviceability Toolsの裏側
Yasumasa Suenaga
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
Naoya Hashimoto
俺のRails開発環境
俺のRails開発環境
joker1007
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
Nseg20120825
Nseg20120825
hiro345
Gws 20120521 gradle
Gws 20120521 gradle
Nobuhiro Sue
Google IO 2012 つまみ食い(1) ADT r20 の新機能
Google IO 2012 つまみ食い(1) ADT r20 の新機能
Takuya Fujimura
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
Tanaka Yuichi
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
そろそろRStudioの話
そろそろRStudioの話
Kazuya Wada
Aerospike v3 install
Aerospike v3 install
Makoto Uehara
Djangoのススメ
Djangoのススメ
Alisue Lambda
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
Grunt入門
Grunt入門
Tsuyoshi Maeda
Similaire à 配布用Supervisordによるnode.jsの運用
(20)
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
Serviceability Toolsの裏側
Serviceability Toolsの裏側
明日から使えるgradle
明日から使えるgradle
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
RでGPU使ってみた
RでGPU使ってみた
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
俺のRails開発環境
俺のRails開発環境
Bp study39 nodejs
Bp study39 nodejs
Nseg20120825
Nseg20120825
Gws 20120521 gradle
Gws 20120521 gradle
Google IO 2012 つまみ食い(1) ADT r20 の新機能
Google IO 2012 つまみ食い(1) ADT r20 の新機能
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
そろそろRStudioの話
そろそろRStudioの話
Aerospike v3 install
Aerospike v3 install
Djangoのススメ
Djangoのススメ
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Grunt入門
Grunt入門
Plus de yut148atgmaildotcom
Confluence4.3でgoogleカレンダーを表示する
Confluence4.3でgoogleカレンダーを表示する
yut148atgmaildotcom
配布用稼動中の4 uサーバを36uまで一人で上げた技術
配布用稼動中の4 uサーバを36uまで一人で上げた技術
yut148atgmaildotcom
配布用Cacti running with cherokee
配布用Cacti running with cherokee
yut148atgmaildotcom
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
yut148atgmaildotcom
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
yut148atgmaildotcom
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
yut148atgmaildotcom
Plus de yut148atgmaildotcom
(6)
Confluence4.3でgoogleカレンダーを表示する
Confluence4.3でgoogleカレンダーを表示する
配布用稼動中の4 uサーバを36uまで一人で上げた技術
配布用稼動中の4 uサーバを36uまで一人で上げた技術
配布用Cacti running with cherokee
配布用Cacti running with cherokee
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
Webサーバ勉強会#5mod sedについて
Webサーバ勉強会#5mod sedについて
配布用Supervisordによるnode.jsの運用
1.
supervisordによるnode.jsの運用
監視ツール勉強会 第2回 プロセス自動再起動ツール編 2012年7月18日 @yut148 12年7月19日木曜日
2.
自己紹介
@yut148 ←ワイユーティーでお願いします。 他特にこだわりはありません。 ユーザーですがフォロー歓迎です。 職業 ゲーム会社 (sap とか CPとかです。) or エンターテイメント会社に勤めています。 現在は仕事でコードを書いてません。 今の仕事はどちらかと言えば運用系 多分インフラエンジニアに属します。 前職含め、ゲーム会社にてサーバ管理の仕事が多い。 12年7月19日木曜日
3.
お断り
本スライドはプロダクション環境による動作 確認をしておりません。 いかなる保証をするものではありません。 12年7月19日木曜日
4.
node.jsの特徴
動作するコードでも例外で停止する。 例: 5回目のアクセスで停止。 var n = 0; var http = require('http'); http.createServer(function (req, res) { if (++n > 4) { a } res.writeHead(200, {'Content-Type': 'text/plain'}); res.end("result:" + n); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); http://gihyo.jp/dev/serial/01/nodejs/0002 技術評論社様 gihyo.jpより引用 12年7月19日木曜日
5.
node.jsスクリプト起動方法のおさらい
# node JavaScriptefilename 基本これだけ。 bugがあった場合、例外による停止や、 ループが発生しがち。 12年7月19日木曜日
6.
どの様なnode.jsのプロセス管理が、
一般的なのか? 例えばzabbixでnode.jsのプロセス管理? →一つのnode.jsプロセスを管理するには大げさ そもそも大規模な運用事例があっても管理方までは開示され ていないnode.js そこで、dotcloudの設定を参考にしてみた。 dotcloudでのnode.js管理手法は? 12年7月19日木曜日
7.
supervisord
http://supervisord.org supervisordとは? 言わずとしれた、daemontools的なもんで す。(ざっくり) less /usr/lib/python2.6/site-packages/supervisor/supervisorctl.py # Copyright (c) 2001, 2002 Zope Corporation and Contributors. # All Rights Reserved. 昨今、国内で聞かれないがZope Corporation成果物の様です。 12年7月19日木曜日
8.
supervisordの特徴
python製 操作方法は CLI → supervisorctl Web Server XML-RPC Interface の3通りの管理方法 ※windowsでは動作しない。 ※python3では動作しない。 http://supervisord.org/introduction.html#overview より 12年7月19日木曜日
9.
インストール方法
ネット越しならpythonらしく easy_install supervisor でインストール可能。3.0a12(最新?)がインストール される。 rpmの場合少し古い2.1系がepelにある。 rpm -ivh ./python-meld3-0.6.7-1.el6.x86_64.rpm noarch/ ¥ supervisor-2.1-8.el6.noarch.rpm rpm付属のスクリプトは便利 /etc/logrotate.d/supervisor /etc/rc.d/init.d/supervisord /etc/supervisord.conf 12年7月19日木曜日
10.
主に使うコマンドは3種
/usr/bin/supervisord →daemonそのもの /usr/bin/supervisorctl → supervisord管理用コマンド+対話shell /usr/bin/echo_supervisord_conf →設定ファイルの雛形を出力 (リダイレクトして/etc/supervisord.confを 作成) 12年7月19日木曜日
11.
supervisordでnode.jsを管理する利点
node.jsでExceptionを起こしてもプロセスを再起動して くれる。 (開発の段階でも自動再起動すれば便利。) nodeのprocess起動後もfgでエラーを確認しやすい。 javascriptを更新する場合、nodeを都度killしなくて 済む 等々。 12年7月19日木曜日
12.
検証
デモ 12年7月19日木曜日
13.
デモで確認した事
supervisordの設定ファイル確認 supervisord起動後のsupervisorctlコマンドの 利用方法 supervisordによるnode.jsの再起動 12年7月19日木曜日
14.
supervisordでnode.jsを管理する欠点
他のsubprocessを再起動させにくい 例えばapacheを合わせて管理した場合 4ステップ $ sudo supervisorctl update apache2 $ sudo supervisorctl stop apache2 $ sudo supervisorctl remove apache2 $ sudo supervisorctl add apache2 複数のprocess管理には向かない。 反面supervisord管理下のprocess管理は 一括起動、停止が容易 12年7月19日木曜日
15.
よくnode.jsと併用されるforeverによる、
スクリプトのdeamon化(永続化)は管理の面 でつらい。 npm install forever -g foreverなりのメリットは有るかも知れないが、foreverで の他プロセス管理は容易では無い。 npmで全てのパッケージ管理を提供している訳ではない。 12年7月19日木曜日
16.
最後に
supervisordを使えば、 node.jsの自動起動設定が容易になる。 各node.jsファイル毎の起動スクリプトを書くよ り効率的 →プログラマーに/etc/rc.localを書かれても困 る。 起動時の[OK]とか書いてくれない(はず) pidファイルとか多分書かない(はず) そこそこの性能で再起動してくれる 12年7月19日木曜日
17.
余談
・PaaSで行われている監視方法は一目に値 する。 12年7月19日木曜日
18.
御視聴ありがとう御座いました。 12年7月19日木曜日
Télécharger maintenant