はじめに
Omnibus版のGitLabを稼働させているサーバから,LAN内の別のマシンで稼働しているJupyterに接続したかったので,その時の記録です.
環境
- ルータ
IP:192.168.0.1 - サーバ1(GitLab用)
OS: CentOS 7.5
IP: 192.168.0.2 - サーバ2(Jupyter用)
OS: Ubuntu 18.04 LTS
IP: 192.168.0.3
JupyterはLAN内からパスワード認証で接続できるようになっています
( https://qiita.com/tdrk/items/e6c293021cbcb0e96cd2 )
Jupyterの設定の変更(サーバ2)
~/.jupyter/jupyter_notebook_config.py
の各項目を以下のように編集します.
jupyter_notebook_config.py
c.NotebookApp.port = 8888
c.NotebookApp.open_browser = False
c.NotebookApp.base_url = '/jupyter/'
c.NotebookApp.base_project_url = '/jupyter/'
c.NotebookApp.webapp_settings = {'static_url_prefix':'/jupyter/static/'}
jupyter notebookをバックグラウンドで起動させておきます.
$ jupyter notebook &
nginxの設定の変更(サーバ1)
/var/opt/gitlab/nginx/conf
に設定ファイルjupyter.conf
を作成します.
jupyter.conf
location /jupyter {
proxy_pass http://192.168.0.3:8888;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
GitLabのnginxは,/etc/gitlab/gitlab.rb
の内容から設定ファイルを自動生成するので,先程作成した設定ファイルを読み込むよう次の1行を追加します.
gitlab.rb
nginx['custom_gitlab_server_config'] = "include /var/opt/gitlab/nginx/conf/jupyter.conf;"
これで,LAN内からhttp://192.168.0.2:8888/jupyter
に接続すると,jupyter notebookが操作できると思います.
参考URL
http://fijixfiji.hatenablog.com/entry/2016/02/11/221253
http://www.albertauyeung.com/post/setup-jupyter-nginx-supervisor/