Run Jupyter notebook remotely
2019-07-04 本文已影响0人
不到15不改名
1. 安装Anaconda
省略
2. 生成配置文件
$ jupyter notebook --generate-config
默认配置文件的位置
Windows: C:\Users\USERNAME\.jupyter\jupyter_notebook_config.py
OS X: /Users/USERNAME/.jupyter/jupyter_notebook_config.py
Linux: /home/USERNAME/.jupyter/jupyter_notebook_config.py
3. 设置jupyter密码
$ jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json
哈希密码默认在~/.jupyter/jupyter_notebook_config.json
4. 用SSL加密通讯
生成加密证书
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem
编辑配置文件~/.jupyter/jupyter_notebook_config.py
# Set options for certfile, ip, password, and toggle off
# browser auto-opening
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>'
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999
好像是由于jupyter的版本原因,启动会出一个ValueError: '' does not appear to be an IPv4 or IPv6 address
这样的错,把c.NotebookApp.ip = '*'
里面的*换成0.0.0.0 work for me (见参考2)
5. 后台启动
$ nohup jupyter lab &
然后就可以本地通过浏览器打开(要用https不是http),记得加你设置的端口号(e.g., https://server_address:9999)
Rerefences
- Jupyter Notebook官方文档:https://jupyter-notebook.readthedocs.io/en/stable/public_server.html
- StackOverflow:https://github.com/jupyter/notebook/issues/3946
版本信息
Linux版本
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Anaconda版本
active environment : base
active env location : /home/xiangjie/programs/anaconda3
shell level : 1
user config file : /home/xiangjie/.condarc
populated config files :
conda version : 4.6.11
conda-build version : 3.17.8
python version : 3.7.3.final.0
base environment : /home/xiangjie/programs/anaconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/linux-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/xiangjie/programs/anaconda3/pkgs
/home/xiangjie/.conda/pkgs
envs directories : /home/xiangjie/programs/anaconda3/envs
/home/xiangjie/.conda/envs
platform : linux-64
user-agent : conda/4.6.11 requests/2.21.0 CPython/3.7.3 Linux/3.10.0-862.11.6.el7.x86_64 centos/7.5.1804 glibc/2.17
UID:GID : 1063:500
netrc file : None
offline mode : False