学校提供了ecs云服务器进行高性能运算

分配到了云主机后想在上面搭好jupyter notebook服务器方便远程使用,在此记录整个流程和遇到的问题

本文档适用于常规的jupyter notebook远程连接,同时也对基于ecs云服务器的情况做了说明

# 官方文档
https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security

# 创建config文件
$ jupyter notebook --generate-config

# 创建完毕后打开,一般情况下路径为,用vim打开即可更改一些配置信息
vim ~/.jupyter/jupyter_notebook_config.py

# 设置密码
jupyter基于server-client架构,此处设置密码作为本地和远程访问的口令

推荐用手动生成的方式
ipython后执行下面内容
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed' # 实际可能不是这个格式

此处可能会报错:
ModuleNotFoundError: No module named ‘_cffi_backend‘
原因是没有安装cffi模块
cffi是连接Python与c的桥梁,可实现在Python中调用c文件。cffi为c语言的外部接口,在Python中使用该接口可以实现在Python中使用外部c文件的数据结构及函数
因此安装cffi模块即可,推荐用下面的命令,不然可能会因为一些冗余文件报错
pip -vvv install --upgrade --force-reinstall cffi

# 修改配置
获取生成的密钥后,打开前面生成的config文件
vim ~/.jupyter/jupyter_notebook_config.py

取消下面几项的注释,使其生效,同时做一些配置
c.NotebookApp.password = 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
c.NotebookApp.ip='*' # ×允许任何ip访问
c.NotebookApp.open_browser = False # 启动后不自动打开浏览器
c.NotebookApp.port =8888 # 可自行指定一个端口, 访问时使用该端口

有些版本的jupyter notebook还需要设置allow_remote_access项为True

此时在本地已经可以通过localhost:8888登陆使用了,常规情况下也可以通过IP:8888远程登录使用

# 关于ecs服务器

不过如果是基于ecs服务器则需要进一步操作

因为学校的ecs云平台基于局域网的,没有公网ip,所以要申请一个端口

此处实例内部地址端口对应c.NotebookApp.port的值即可

申请成功后,就可以用新分配的外部地址远程登陆jupyter notebook了~

【jupyter notebook】配置基于ecs云平台的jupyter notebook远程使用的更多相关文章

  1. 【Microsoft Azure 的1024种玩法】二.基于Azure云平台的安全攻防靶场系统构建

    简介 本篇文章将基于在Microsoft Azure云平台上使用Pikachu去构建安全攻防靶场,Pikachu使用世界上最好的语言PHP进行开发,数据库使用的是mysql,因此运行Pikachu需要 ...

  2. 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计

    设计高可用的应用是架构师的一个重要目标,可是基于云计算平台设计高可用应用与基于传统平台的设计有很多不同.云计算在给架构师带来了很多新的设计挑战的时候,也给带来了很多新的设计理念和可用的服务.怎样在设计 ...

  3. 【Microsoft Azure 的1024种玩法】三.基于Azure云平台构建Discuz论坛

    [简介] Discuz!是一套通用社区论坛软件系统,用户在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能.很强负载能力和可高度定制的论坛服务. [前期文章] [操作步骤] ...

  4. 基于EasyDarwin云平台实现的EasyClient客户端与EasyCamera摄像机之间的对讲与云台控制功能

    本文转自EasyDarwin团队Kim的博客,感谢Kim长期对EasyDarwin开源项目的贡献:http://blog.csdn.net/jinlong0603 EasyDarwin云平台是一套由E ...

  5. 【云原生 · Kubernetes】配置 Rancher docker 云平台

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 1.1 Rancher 概述 Rancher 是一个开源的企业级容器管理平台.通过 Ranc ...

  6. 用python发送短消息(基于阿里云平台)

    新版短信接口在线测试页面:https://api.aliyun.com/new#/?product=Dysmsapi&api=SendSms&params={}&tab=DEM ...

  7. 基于阿里云平台的使用python脚本发送短信

    第一步:点击短信服务下的帮助文档 第二步:安装python的SDK:点击安装python sdk 第三步:直接通过python的pip工具安装即可,方便快捷: 第四步:点击红框进行测试: 第五步:测试 ...

  8. Google云平台使用方法 | Hail | GWAS | 分布式回归 | LASSO

    参考: Hail Hail - Tutorial  windows也可以安装:Spark在Windows下的环境搭建 spark-2.2.0-bin-hadoop2.7 - Hail依赖的平台,并行处 ...

  9. Kubernetes容器云平台建设实践

    [51CTO.com原创稿件]Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理.伴随着云原生技术的迅速崛起,如今Kubernetes 事实上已经 ...

  10. 微软云平台媒体服务实践系列 2- 使用动态封装为iOS, Android , Windows 等多平台提供视频点播(VoD)方案

    文章微软云平台媒体服务实践系列 1- 使用静态封装为iOS, Android 设备实现点播(VoD)方案  介绍了如何针对少数iOS, Android 客户端的场景,出于节约成本的目的使用媒体服务的静 ...

随机推荐

  1. j2ee目录索引

    j2ee  不完全目录 Eclipse中配置约束(DTD,XSD) Eclipse 快捷键 及其 xsd dtd配置本地约束 ===================================== ...

  2. python基础 补漏

    输出 -----------定义变量类型 类型 集合 mongodb的用法和redis差不多一样的 NoSQL 数据库之一 https://www.runoob.com/python3/python- ...

  3. nop4.3 admin中添加新菜单

    感觉跟之前版本区别不是很大,先记录下. 1. 首先在sitemap.config 文件里添加菜单. <siteMapNode SystemName="SystemManage" ...

  4. OPENCV3 API

    图像翻转 void flip(InputArray src, OutputArray dst, int flipCode); flipCode: 0: x 轴翻转 1: y 轴翻转 <0: x, ...

  5. 获取异步请求的结果 | JS | VUEX | axios

    这里都是获取异步axios的请求结果 一.async/await的方式(获取一个vuex中的异步请求的结果) 1.在vuex(store中的index.js)中定义异步函数 1> 在mutati ...

  6. 【ADB命令】安装app

    在电脑上安装以下指令 adb install app的文件位置

  7. Java-【Arrays类】和【System类】

    Arrays类 [基本介绍] JDK中提供了一个专门用于操作数组的工具类,即Arrays类,位于java util 中. 用前需导包:import java.util.Arrays; [常用方法] 返 ...

  8. 关于Docker容器内不能ping通外网

    先在主机重启docker服务 systemctl stop docker systemctl start docker 然后再开启容器,进入容器 https://blog.csdn.net/qq_42 ...

  9. nkIO方法

    import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc = new Scan ...

  10. 【JavaScript】JS写法随笔(二) JS动态生成表格

    主要思路:通过Ajax请求后端接口并拿到结果list之后,然后通过DOM获取tbody并向tbody中添加行.单元格. $("#calculate").click(function ...