バツイチとインケンのエンジニアブログ
プログラムやプログラムじゃないこと

IPython Notebook をインストールしてsupervisordでプロセス管理したい

2015-01-14
書いた人 : インケン
カテゴリ : Python | タグ : IPython

ちょっと前にバツイチちゃんが、anacondaでipythonを入れてって書いてましたが、ローカルなマシンならいいとしてサーバーに入れる場合個別にpipで入れたかったりしますよね

そこでpipでipythonを入れて、プロセスをsupervisorで管理する方法を紹介します。

ipythonをインストール

ipython notebookのインストール方法は簡単です。

pip install ipython

もしくは

pip install "ipython[notebook]"

です。

インストール直後は設定ファイルがないので、設定ファイルを作ります。

ipython profile create

「.ipython/profile_default/」この中に設定ファイルが作られます。

ipython notebookの設定ファイルは「ipython_notebook_config.py」なので、これを変更します。

主に変更しそうな項目は以下な感じ。

#listenするIP
c.NotebookApp.ip = '0.0.0.0'

#起動時にブラウザを立ち上げるかどうか
c.NotebookApp.open_browser = False

#ポート番号
c.NotebookApp.port = 8888

#ipython notebookで使うディレクトリ
c.NotebookApp.notebook_dir = u'/home/ipython'

#ブラウザのパスワード
c.NotebookApp.password = u'sha1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

これで、コマンドラインから

ipython notebook --matplotlib inline

こんな感じで叩くと、ipython notebook が起動して、ブラウザからアクセスできるようになります。

スクリーンショット 2015-01-14 16.49.17

supervisordでプロセス管理

毎回コマンド叩くのめんどいですし、supervisorでデーモン化しちゃいましょう。

yum install supervisor

サクッとyumでインスコして、設定ファイルにipython用の設定を追加しましょう

$ vi /etc/supervisord.conf

[program:ipynb]
command=/home/ipynb/.virtualenvs/py2.7/bin/python2.7 /home/ipynb/.virtualenvs/py2.7/bin/ipython notebook --matplotlib inline
numprocs=1
stdout_logfile=/var/log/supervisor/ipy.log
autostart=true
autorestart=true
user=ipynb
redirect_stderr=true

もちろん設定は、他ファイルに書いてincludeしてもいいと思います。

設定ファイルを変更したら、起動して完了です。

/etc/init.d/supervisord start

ipython notebookがsupervisor経由で起動してるかどうかは以下のコマンドで確認できます。

supervisorctl status

ipynb          RUNNING    pid 6687, uptime 0:09:51

 

このエントリーをはてなブックマークに追加
Tweet

← Apache SparkからGoogle Cloud Strageを使う
JSで株のローソク足チャートを生成するためのjQueryプラグイン jqPlot →

 

最近書いた記事

  • Ryzen7 3800XT でmini ITXオープンフレームPCを作る
  • Pythonで機械学習入門 競馬予測
  • HP ENVY 15 クリエイターモデルレビューとRAID0解除
  • JRA-VAN データラボを使って、競馬データを収集する
  • Surface Pro 3 にubuntu18.04を入れる

カテゴリー

  • Android
  • Apache Flink
  • API
  • AWS
  • bazel
  • BigQuery
  • Cassandra
  • Docker
  • Druid
  • Elasticsearch
  • Git
  • Golang
  • gradle
  • HDFS
  • JavaScript
  • jvm
  • Linux
  • MongoDB
  • MySQL
  • Nginx
  • Nodejs
  • PaaS
  • PHP
  • Python
  • RabbitMQ
  • Raspberry Pi
  • React Native
  • Redis
  • Riak
  • rust
  • scala
  • Scheme
  • SEO
  • solr
  • Spark
  • spray
  • Sublime Text
  • Swift
  • Tableau
  • Unity
  • WebIDE
  • Wordpress
  • Youtube
  • ひとこと
  • カンファレンス
  • スケジューラ
  • マイクロマウス
  • 広告
  • 技術じゃないやつ
  • 株
  • 機械学習
  • 競馬
  • 自作キーボード
  • 自然言語処理

アーカイブ

  • 2021年4月
  • 2021年2月
  • 2021年1月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年5月
  • 2018年3月
  • 2018年2月
  • 2017年9月
  • 2017年8月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年1月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年8月
  • 2015年6月
  • 2015年5月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年9月
  • 2014年6月
  • 2014年5月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月

書いた人

  • バツイチちゃん
  • インケンくん

このブログについて

エンジニアとしての考え方が間逆な2人がしょーもないこと書いてます。

バツイチ

アイコン

IT業界で働くエンジニアです。名前の通りバツイチです。
理論や抽象的概念が好きだけど人に説明するのが下手。

インケン

アイコン

バツイチちゃんと同じ業界で働いています。
理論とか開発手法とかは正直どうでもよくて、
生活する上で役に立つことに使いたい

Copyright 2025 バツイチとインケンのエンジニアブログ