0%

配置jupyter,并且通过nginx反向代理登陆。

1.在home目录创建jupyter根文件目录

1
mkdir ~/jupyter

2.建立虚拟环境

  • jupyter基于python环境,为了隔离主机python环境,所以创建虚拟环境。
    1
    2
    virtuanenv -p /usr/bin/python3 ~/jupyter/jupyterenv
    source ~/jupyter/jupyterenv/bin/activate

    以下涉及python3执行的步骤都需要在刚刚进入的jupyterenv虚拟环境下。

3.用pip3安装jupyter

1
pip3 instal jupyter

4.生成默认配置文件

1
jupyter notebook --generate-config

会默认在家目录生成配置文件~/.jupyter/jupyter_notebook_config.py

5.修改jupyter配置文件

  • 找到以下配置进行更新(如果为注释则取消注释)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    c.NotebookApp.ip = 'localhost'
    c.NotebookApp.allow_remote_access = True
    c.NotebookApp.base_url = '/jupyter' #必须与nginx代理目录一致。只有配置了才可以通过http协议进入www.ezhonghu.cn/jupyter访问jupyter服务
    c.NotebookApp.open_browser = False #因为服务在云服务器端,没必要
    c.NotebookApp.port = 8888 #需要和nginx指定的端口一致。(如果端口被占用,jupyter会随机生成端口)


    6.nginx配置

    ```shell
    nvim /etc/nginx/site-enables/nginx.config
    根据以下修改
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    server {
    #server头此处略

    # 要和Jupyter配置文件里的url一致
    location /jupyter {
    proxy_pass http://127.0.0.1:8888;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_redirect off;
    }

7.后台运行

1
screen jupyter-lab

个人比较习惯用screen。
也可以写一个system daemon,或者用Nohup &语句