官网链接
https://jupyter-notebook.readthedocs.io/en/latest/public_server.html
一、pip安装jupyter
安装Anaconda的话,会自动按照jupyter,就不需要再使用pip安装了
pip3 install jupyter
二、生成jupyter notebook配置文件
jupyter notebook --generate-config
记住生成配置文件的目录,一般是在/root/.jupyter 中
三、设置Jupyter登陆密码,生成对应密文
ipython #打开ipython from notebook.auth import passwd passwd() #复制生成的密文
设置浏览器Jupyter登录密码
Enter password: #输入密码 Verify password: #确认密码
四、修改配置文件
配置文件在当前用户默认根目录的 .jupyter 文件夹下,例如: /home/zql
vi ~/.jupyter/jupyter_notebook_config.py
插入如下代码,粘贴刚刚生成的密文
1
2
3
4
5
6
|
c.NotebookApp.ip= '*' c.NotebookApp.password = u 'sha1:...刚才复制的那个密文' c.NotebookApp.open_browser = False c.NotebookApp.port =8888 c.NotebookApp.allow_remote_access = True c.NotebookApp.notebook_dir = '/usr/local/mypro/pythonpro' #指定默认打开的文件夹 |
五、启动jupyter
在服务器终端输入以下命令,会默认使用jupyter_notebook_config.py 配置来开启当前客户端的jupyter notebook服务:
jupyter notebook --allow-root
六、实现远程访问
给阿里云服务器添加安全规则,开放8888端口
浏览器输入:服务器ip地址:8888
即可访问服务器端的jupyter
感谢原作者
参考链接
不直接修改默认配置~/.jupyter/jupyter_notebook_config.py
感谢原作者
centos系统推荐链接
设置配置文件
看了网上其他人的策略通常是直接修改配置文件 ~/.jupyter/jupyter_notebook_config.py
但是个人不推荐这种做法,因为这样需要改动到默认的配置文件。
我推荐的做法是自行创建一个配置文件,然后在运行 Jupyter notebook 的时候动态加载配置信息。
创建配置文件,可以取名为root_jupyter_config.py 。
配置内容如下:
1
2
3
4
5
6
|
c.NotebookApp.ip= '*' # 指定 可访问 IP 或者 使用 * 则可以用任意 IP c.NotebookApp.open_browser = False # 关闭自动打开浏览器 c.NotebookApp.port = 8888 # 端口随意指定,然后在阿里云开对应端口的防火墙即可 c.NotebookApp.password = u 'sha1:d8334*******' # 复制前一步生成的密钥 c.NotebookApp.allow_remote_access = True c.NotebookApp.notebook_dir = '/usr/local/mypro/pythonpro' #指定默认打开的文件夹 |
启动 Jupyter 服务器
根据新建的配置来启动jupyter
jupyter notebook --config=root_jupyter_config.py
把Jupyter 服务器作为一个后台的服务,始终启动
但是当前这样还存在一个问题,就是一旦关闭终端,Jupyter 程序也就终止了运行。这是因为该 Jupyter 程序作为当前终端的子进程,在用户终端关闭的时候将收到一个 hangup 信号,从而被关闭。
所以为了让程序能忽视 hangup 信号,可以使用 nohup 命令。同时还要配合 & 来将程序放入后台运行。
1
2
3
|
nohup jupyter notebook --config=jupyter_config.py & 我的服务器命令为【可以用其他主机通过ip成功访问】: nohup jupyter notebook --allow-root --config=root_jupyter_config.py & |
会在当前目录生成一个nohup.out文件
可以看作是程序的输出日志文件
查看该日志文件方法
1
|
tail -fn 50 nohup. out |
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
在linux下杀死nohup提交到后台运行的程序
1
2
3
|
输入 “ps ux” 来查看所有程序的进程号PID 然后再通过 “kill -9 PID” 杀死程序; 输入 “ps ux” 来查看程序是否被杀死。 |
此处杀死进程 id 为16256 即可:
1
2
3
4
|
ps -au 查看当前用户的进程 ps ux 查看所有进程 root 16256 0.0 2.9 372144 60228 ? Sl Jan11 5:04 /root/anaconda3/bin/python /root/anaconda3/bin/jupyter-notebook --allow-root --config=root_jup |