配置远程访问Jupyter+腾讯云超划算活动上车
一年前写了一篇关于Anaconda的介绍,在里面大力推荐大家使用Jupyter写一些日常的代码。
https://zhuanlan.zhihu.com/p/25198543
大家都知道Jupyter是一个Web应用,因而如果有服务器的小伙伴是可以将Jupyter部署在服务器端并远程访问的,这样就拥有了自己私人的一个科学计算环境(也带有一定云存储的功能)。
刚好这次遇到腾讯云360元撸6年1核1G1M服务器的活动,于是再写一下如何在腾讯云的服务器上配置Jupyter的远程访问。
首先是腾讯云的活动。限新用户,不用学生认证,不过似乎没有买过服务器的老用户也可以参加,大家具体试一下。
参团链接:
https://cloud.tencent.com/act/campus/group/detail?group=13439
1、打开我的参团链接,点击参团,如果点击没有反应,试试手机打开,如果我的链接失效了,也可以问别的老用户要一个,任意老用户都可以发起参团;
2、选择自己需要的节点、操作系统、时间,付费购买(默认1核2G,可以缩配为1核1G延长时间,如果要缩配需要选择成都节点);
3、付费成功后,访问云+校园 - 腾讯云可以再次续费两次,每次12+4月,于是共获得4年;
4、如果不需要2G内存,则可以在控制台调整配置为1G,又可以延长时间。
以Ubuntu为例配置,写的简略一点,不清楚的可以配合一下度娘。
1、登陆服务器,可以使用控制台自带的网页登陆(容易超时断开连接),也可以使用putty或者Xshell之类的工具登陆;
2、使用wget下载anaconda,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/在这里找到需要的相应版本后,复制下载链接,wget 链接,进行下载;
3、使用sh Anaconda3-5.1.0-Linux-x86_64.sh 命令安装Anaconda,安装过程一路yes即可,安装完成后重启终端,尝试conda命令,不出问题的话应该安装成功了;
4、在控制台-安全组中,新建规则,放开端口访问(可以自定义8888端口,也可以直接放开所有端口),然后关联服务器实例。这一步很重要,也是区别于别家服务器的地方,如果不设置安全组的话,端口受限是无法访问的;
5、运行 jupyter notebook --generate-config 生成默认的jupyter配置文件;
6、cd .jupyter
7、vim jupyter_notebook_config.py
8、默认的配置文件是全部注释掉的,我们只需要指定很少的部分即可完成搭建,更具体的配置可以自己参照文档进行。
在配置文件中写入以下三行(不会使用vim的可以百度一下…考验学习能力的时候到了):
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
9、保存退出。运行jupyter notebook,会得到一个带token的访问地址。复制地址,将其中的localhost替换成服务器的公网IP,访问,应该可以正常进入jupyter。登出jupyter,使用token设置登陆密码;
10、重启终端,使用screen jupyter notebook命令启动jupyter服务,之后便可以在任意机器上访问 公网IP:8888 进入自己的jupyter了。
写的比较简单,由于是自己配置好以后写的,过程中忘记截图了,有一定基础的同学应该能顺利完成,有问题可以评论,问题很多的话我会考虑再完善一下这篇文章…
Enjoy tencent cloud!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于hexo框架搭建个人博客【技术创作训练营】
- 对比讲解lambda表达式与传统接口函数实现方式
- 如何使用Java8 Stream API对Map按键或值进行排序
- TencentOS tiny RTOS快速入门
- Nginx用户认证与域名重定向
- LNMP架构介绍与搭建
- Mac 最新版Python3.7.4安装配置,设置默认python版本
- 15个应该掌握的Jupyter Notebook 使用技巧
- python 环境重启方法,系统环境变量配置后python生效设置方法
- 快速上手 WebAssembly 应用开发:Emscripten 使用入门
- Python爬虫之mongodb的索引操作
- (六)日志生成
- Python爬虫之mongodb的权限管理
- Python爬虫之mongodb和python交互
- 转录组分析 | 使用RSeQC软件对生成的BAM文件进行质控