Ubuntu 16.04远程配置Jupyter Notebook
安装和配置Jupyter Notebook
安装jupyter notebook
conda
conda install -c conda-forge notebook
pip
pip install notebook
安装好之后,运行:
jupyter notebook
看是否能成功运行
配置Jupyter notebook
- 首先生成配置文件:
sudo jupyter notebook --generate-config
- 然后修改位于
~/.jupyter/jupyter_notebook_config.py
处的配置文件:- notebook文件根目录:
## The directory to use for notebooks and kernels.
# Default: ''
c.NotebookApp.notebook_dir = '<PATH_TO_DIR>'
- notebook文件根目录:
## The port the notebook server will listen on (env: JUPYTER_PORT).
# Default: 8888
c.NotebookApp.port = 51234
- notebook文件根目录:
- 运行命令:
jupyter notebook --no-browser --config=<ABSPATH_TO_CONFIG>/.jupyter/jupyter_notebook_config.py
把jupyter notebook的启动合成到一个命令
为启动notebook的命令设置别名:
alias jlremote='jupyter notebook --no-browser --config=<ABSPATH_TO_CONFIG>/.jupyter/jupyter_notebook_config.py'
然后将这句命令添加到~/.bashrc
和~/.bash_profile
,如果是Mac OS则添加到~/.zshrc
之后运行:
jlremote
即可。为了使notebook能在后台运行,可以用screen
命令为其单开一个screen运行。
把jupyter notebook作为linux service运行
sudo vim /etc/systemd/system/jupyter.service
在这个文件里填入
[Unit]
Description=Jupyter Notebook
[Service]
WorkingDirectory=<PATH_TO_DIR>
ExecStart=<ABSPATH_TO_CMD>/jupyter notebook --no-browser --config=<ABSPATH_TO_CONFIG>/.jupyter/jupyter_notebook_config.py
Restart=always
RestartSec=10
SyslogIdentifier=jupyter-notebook
User=<USER NAME>
[Install]
WantedBy=multi-user.target
然后安装并运行该服务:
sudo systemctl enable jupyter.service
sudo systemctl start jupyter.service
sudo systemctl status jupyter.service
远程连接jupyter
使用SSH隧道
在~/.bashrc
和~/.bash_profile
,如果是Mac OS则在~/.zshrc
添加:
function jllocal {
port=YOUR PORT
remote_username=USERNAME
remote_hostname=HOSTNAME
url="http://localhost:$port"
echo "Opening $url"
open "$url"
cmd="ssh -CNL localhost:"$port":localhost:"$port" $remote_username@$remote_hostname"
echo "Running '$cmd'"
eval "$cmd"
}
在本地机里直接运行jllocal
即可。
使用nginx反向代理
首先直接安装nginx:
sudo apt install nginx
我们需要把本地访问URL<YOUR DOMAIN NAME/IP>:<YOUR PORT>/jupyter
时重定向到远程服务器访问localhost:<YOUR_PORT>/jupyter
。
配置文件在:/etc/nginx
里,可以在conf.d
文件夹下新建jupyter.conf
,写入配置:
upstream notebook {
server localhost:<YOUR PORT>;
}
server{
listen 80;
server_name <YOUR DOMAIN NAME/IP>;
location /jupyter {
proxy_pass http://notebook;
proxy_set_header Host $host;
}
location ~ /jupyter/api/kernels/ {
proxy_pass http://notebook;
proxy_set_header Host $host;
# websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
}
location ~ /jupyter/terminals/ {
proxy_pass http://notebook;
proxy_set_header Host $host;
# websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
}
}
然后也需要修改jupyter的配置~/.jupyter/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.
# Default: False
c.NotebookApp.allow_remote_access = True
## DEPRECATED use base_url
# Default: '/'
c.NotebookApp.base_project_url = '/jupyter/'
修改完配置之后重启两个服务:
sudo systemctl restart jupyter.service
sudo systemctl restart nginx.service
然后可以在本地浏览器里输入<YOUR DOMAIN NAME/IP>:<YOUR PORT>/jupyter
访问notebook server,第一次可能需要登录token。
如果把jupyter放到服务里运行的话,token可以从以下log里找到:
sudo systemctl status jupyter.service
Ubuntu 16.04远程配置Jupyter Notebook的更多相关文章
- Ubuntu 16.04 LTS 配置 Jupyter notebook 为服务器
原材料: Ubuntu 16.04 LTS 64bit 已经配置好 IPython 和 Jupyter (安装步骤可以参照:http://www.cnblogs.com/McKean/p/619497 ...
- [eShopOnContainers 学习系列] - 03 - 在远程 Ubuntu 16.04 上配置开发环境
直接把 md 粘出来了,博客园的富文本编辑器换成 markdown,没啥效果呀 ,先凑合吧.实在不行换地方 # 在远程 Ubuntu 16.04 上配置开发环境 ## 零.因 为什么要用这么麻烦的 ...
- Ubuntu 16.04修改配置静态IP和DNS
Ubuntu 16.04修改配置静态IP和DNS 1.修改interfaces 文件 sudo gedit /etc/network/interfaces 2.添加 例如: auto enp0s25 ...
- Ubuntu 16.04 Bridge配置
Ubuntu 16.04 Bridge配置 一.安装网桥拓展包 bridge-utils root@ubuntu:~# apt-get install bridge-utils 二.创建网桥设备 // ...
- 【转】Ubuntu 16.04安装配置TensorFlow GPU版本
之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...
- Ubuntu 16.04下配置 Nginx 与 Node.js 以及服务的部署
第一步:安装nginx sudo apt-get update sudo apt-get install nginx 如果遇到依赖问题,尝试执行sudo apt-get -f install命令 第二 ...
- VMware 15安装Ubuntu 16.04并配置环境
VMware(虚拟机)是指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统,它能在Windows系统上虚拟出多个计算机,每个虚拟计算机可以独立运行,可安装各种软件与应用等 ...
- Ubuntu 16.04 orb-slam2配置
说明:Ubuntu 16.04以及必要的基础软件安装完成之后进行: 1.OpenNI2安装(可选) 安装依赖项: sudo apt--dev freeglut3-dev doxygen graphvi ...
- Ubuntu 16.04简单配置备忘录
1.几个安装包的地址 1.Linux QQ:https://im.qq.com/linuxqq/index.html 2.网易云音乐:http://s1.music.126.net/download/ ...
随机推荐
- Erda 系列 Meetup「成都站」携手SOFAStack 和你聊聊云原生基础设施建设那点事儿
技术控快上车啦秋天的第一场活动一起来收获技术干货吧! 主题: 云原生基础设施建设的现在及未来时间: 2021 年 9 月 11 日 (周六) 13:30-17:00活动地点: 四川省成都市蚂蚁 C 空 ...
- 疯了吧!这帮人居然用 Go 写“前端”?(二)
作者 | 郑嘉涛(羣青) 来源|尔达 Erda 公众号 前言 上篇我们讲了故事发生的背景,也简单阐述了组件及协议的设想: 一.丰富的通用组件库. 二.组件渲染能力,将业务组件渲染成通用组件 ...
- A Child's History of England.6
It was a British Prince named Vortigern who took this resolution, and who made a treaty of friendshi ...
- adjective
形容词用来描述名词或代词:副词用来描述剩下的(动词.形容词.副词和整句).adverb: to word. Adjectives are used almost exclusively to modi ...
- day02 Rsyuc备份服务器
day02 Rsyuc备份服务器 一.备份 1.什么是备份 备份就是把重要的数据或者文件复制一份保存到另一个地方,实现不同主机之间的数据同步 一般数据比较重要的情况下,数据如果丢失很容易找不回来了的, ...
- [web安全] 利用pearcmd.php从LFI到getshell
有一段时间没写blog了,主要是事多,加上学的有些迷茫,所以内耗比较大.害,沉下心好好学吧. 漏洞利用背景: 允许文件包含,但session等各种文件包含都已经被过滤了.ctf题中可以关注regist ...
- C逗号表达式
c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值.如:(3+5,6+8)称为逗号表达式,其求解过程先表达 ...
- Running shell commands by C++
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; st ...
- 多线程异步操作导致异步线程获取不到主线程的request信息
org.springframework.web.context.request.RequestContextHolderorg.springframework.web.context.request. ...
- 用运oracel中的伪列rownum分页
在实际应用中我们经常碰到这样的问题,比如一张表比较大,我们只要其中的查看其中的前几条数据,或者对分页处理数据.在这些情况下我们都需要用到rownum.因此我们要理解rownum的原理和使用方法. Or ...