远程访问阿里云服务器jupyter
一、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
插入如下代码,粘贴刚刚生成的密文
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
设置配置文件
看了网上其他人的策略通常是直接修改配置文件 ~/.jupyter/jupyter_notebook_config.py
但是个人不推荐这种做法,因为这样需要改动到默认的配置文件。
我推荐的做法是自行创建一个配置文件,然后在运行 jupyter notebook 的时候动态加载配置信息。
创建配置文件,可以取名为root_jupyter_config.py 。
配置内容如下:
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 命令。同时还要配合 & 来将程序放入后台运行。
nohup jupyter notebook --config=jupyter_config.py &
我的服务器命令为【可以用其他主机通过ip成功访问】:
nohup jupyter notebook --allow-root --config=root_jupyter_config.py &
会在当前目录生成一个nohup.out文件
可以看作是程序的输出日志文件
查看该日志文件方法
tail -fn 50 nohup.out
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
在linux下杀死nohup提交到后台运行的程序
输入 “ps ux” 来查看所有程序的进程号pid
然后再通过 “kill -9 pid” 杀死程序;
输入 “ps ux” 来查看程序是否被杀死。
此处杀死进程 id 为16256 即可:
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
kill -9 16256
原文链接:https://blog.csdn.net/sinat_28442665/article/details/85612475