本次通过win10网页访问阿里云服务器jupyter notebook服务:

服务器:Ubuntu16.04(阿里云服务器ECS)
客户端:windows10
Anaconda3:4.7.10

配置jupyter_notebook_config.py文件

1.生成jupyter notebook配置文件

jupyter notebook --generate-config

由于我是root权限进行的操作,所以配置文件生成于/root/.jupyter/路径下

2.配置密码并生成ssl证书

这步我仅设置了jupyter notebook的密码,用于后续登录时作验证(此处不可跳),这里跟其他博客设置方式并不一致,如果有误,不要以我为准~

jupyter notebook password

然后输入两次密码即可完成jupyter notebook密码设置。

3.修改jupyter配置文件

cd /root/.jupyter/
vim jupyter_notebook_config.py

修改内容如下(解释部分为个人理解):

#  Local IP addresses (such as 127.0.0.1 and ::1) are allowed as local, along
#  with hostnames configured in local_hostnames.
c.NotebookApp.allow_remote_access = True
# True表示不接受127.0.0.1作为本地IP地址

## Whether to allow the user to run the notebook as root.
c.NotebookApp.allow_root = True
# True表示允许用户以root身份运行jupyter notebook

## The IP address the notebook server will listen on.
c.NotebookApp.ip = '0.0.0.0'
# 将'0.0.0.0'设置为notebook服务器将侦听的IP地址

## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = '/home/rika/'
# '/home/rika'为个人设置的notebook初始打开目录

## Whether to open in a browser after starting. The specific browser used is
#  platform dependent and determined by the python standard library `webbrowser`
#  module, unless it is overridden using the --browser (NotebookApp.browser)
#  configuration option.
c.NotebookApp.open_browser = False
# False表示通过jupyter notebook启动后不在浏览器中打开notebook

在修改的过程中可以在vim界面通过/匹配词来定位修改项,修改完成后切换编辑模式:wq保存退出。

该部分内容的释义可以通过以下命令查询:

jupyter notebook --help

客户端启动jupyter notebook

映射方式(不推荐)

先在服务器上将jupyter notebook运行起来

jupyter notebook

注意这里的运行日志中可以看到指定的IP及端口为rika:8888(这个看各位的配置和运行日志)

接下来需要将服务器端口映射到本地,使用win+R使用cmd命令行打开控制台输入:

ssh username@server_ip -L127.0.0.1:8888:rika:8888

注意:此处username更改为服务器用户名,server_ip更改为服务器公网IP,127.0.0.1:8888为映射到的本地地址,rika:8888为服务器jupyter notebook地址。

接下来输入服务器用户相应的密码,打开本地浏览器访问127.0.0.1:8888,使用之前设置的jupyter notebook密码即可登录。此时默认访问的目录为我们之前设置的路径。

映射方式的缺点:

  1. 服务器中执行jupyter notebook的方式是不可中止的,无法后台使用;
  2. 客户端中打开jupyter notebook的方式是不支持断开ssh连接的,所以win10系统中开启的控制台不得关闭;

直接访问:

这种方式可以让你通过任何客户端浏览器直接访问服务器上jupyter notebook,不需要后台运行映射程序。

阿里云服务器设置

由于阿里云服务器默认打开了安全组,所以需要先设置一下安全组的配置规则。

打开阿里云控制台,选中服务器实例,点击安全组,选择配置规则,通过手动添加的方式将8888端口暴露出来。(其他服务器或同样面临防火墙的问题,排查问题的时候可以留意下这里)

守护进行启动jupyter notebook

通过nohup命令使得jupyter notebook命令在后台执行,并打印日志:

nohup jupyter notebook > /root/.jupyter/jupyter.log &

打开jupyter notebook

此时仅需在客户端浏览器中访问server_ip:8888,首次访问输入jupyter notebook密码,即可正常使用jupyter notebook。

注意:此处server_ip为服务器公网IP地址,这里可以直接通过这种方式正是因为之前我们设置jupyter_notebook_config.py的功劳之一。

标签: none

添加新评论