VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python爬虫 >
  • 远程访问阿里云服务器jupyter

官网链接
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

 


相关教程