Take Your Time

仕事や研究、コンピューターとの付き合い方

aws ec2インスタンス上にjulia環境を構築する

環境

手順

  • python3が最初から入っていた。

  • pip installしてjupyterをinstall

wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip install jupyter
  • Julia install
sudo add-apt-repository ppa:staticfloat/juliareleases
sudo add-apt-repository ppa:staticfloat/julia-deps
sudo apt-get update
sudo apt-get install julia
cd ~
jupyter notebook --generate-config
cd .jupyter
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
  • ログイン用のパスワードのハッシュをつくる。これもわかってない。とりあえず暗号を作るということと理解。黒い画面でpython3と打ち込んでpythonの対話型コンソールにはいって、
from notebook.auth import passwd; passwd()
  • 何か聞かれるが空白でもかまわない。

  • シェルに戻ってjupyterの設定ファイルをいじる(vimである必要はない)。

vim ~/.jupyter/jupyter_notebook_config.py

以下の4つの項目を編集する。すべて#でコメントアウトされているので削除して直す。なお、vimでの検索は/<検索したい言葉>+enterでできる。次を検索はn。

c.NotebookApp.certfile = u'/home/username/.jupyter/mycert.pem'
c.NotebookApp.keyfile  = u'/home/ec2-user/.jupyter/mykey.key'
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:bcd259ccf...' # passward()で作った暗号をペースト。
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 # jupyter用のポート。
  • EC2インスタンスのネットワーク設定をする。
  • AWSのコンソールに移動して、セキュリティグループから該当のセキュリティグループを選択し、下に出てくる画面からインバウンドを選択、「カスタムTCPルール」「TCP」「8888」「0.0.0.0/0」に設定。

  • Juliaの対話型コンソールに入ってIJuliaをインストール

Pkg.add("IJulia")
  • 接続 EC2上でjupyter notebookとしてノートブックを走らせる。ウェブブラウザーhttps://[EC2インスタンスの外部IPアドレス]:8888に接続。