使用阿里云服务器部署jupyter notebook远程访问

时间:2021-04-10 07:42:45

安装annaconda 与jupyter notebook

annaconda在已经自带了jupyter notebook、jupyter lab、ipython 等一系列工具,不需要再单独安装这些工具,方便快捷。

  1. 下载安装脚本
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
  1. 运行安装向导

    这一步一直点yes 和下一步即可,到最后询问你是否安装vscode ,服务器端一般不用安装

bash Anaconda3-5.3.1-Linux-x86_64.sh
  1. 确认是否安装成功
conda --version

问题来了,很多人可能到了第三步,输入conda 命令后会得到如下信息:

conda: command not found

原因是因为~/.bashrc文件没有配置好,沒有设置环境变量,简单点说就是第二步点快了,该怎么做呢?

解决办法[1]

重新打开.bashrc文件配置即可

  1. 打开文件
vim ~/.bashrc
  1. 编辑配置文件
export PATH=$PATH:/home/you_user_dir/anaconda3/bin # 这里填你anaconda的安装目录
  1. 然后保存更改,运行
source ~/.bashrc

重新开启验证conda --version 一般没有问题了,有问题再往上面找,重新来一遍。

好,下面开始进行jupyter notebook的设置

设置jupyter notebook 密码[2、3]

设置密码用于设置服务器配置,以及登录Jupyter。打开Python终端,输入以下:

In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'

设置jupyter notebook 服务器配置文件[2、3]

  1. 生成Jupyter Notebook配置文件
$ jupyter notebook --generate-config

  1. 设置服务器配置文件
vim ~/.jupyter/jupyter_notebook_config.py

设置配置,端口号注意不要和其他应用冲突即可

c.NotebookApp.password = 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'
c.NotebookApp.ip = '*' #所有绑定服务器的IP都能访问,若想只在特定ip访问,输入ip地址即可
c.NotebookApp.port = 7890 #将端口设置为自己喜欢的吧,默认是8888
c.NotebookApp.open_browser = False #我们并不想在服务器上直接打开Jupyter Notebook,所以设置成False
c.NotebookApp.notebook_dir = '/home/admin/jupyter_proj' #这里是设置Jupyter的根目录,若不设置将默认root的根目录,不安全

启动与登录远程服务器[4、5]

$ jupyter notebook # 启动远程服务器

接下来打开浏览器输入服务器的IP地址:端口号,例如 10.12.325.321:8888 即可看到我们熟悉的jupyter notebook。这里如果有问题的话首先可以检查下阿里云服务器(你自己买的服务器)端口是否开放,不行的话,再检查linux 系统防火墙是否开放,可以试着关系系统防火墙。

sudo ufw disable

如果登陆失败,则有可能是服务器防火墙设置的问题,此时最简单的方法是在本地建立一个ssh通道: 在本地终端中输入ssh username@address_of_remote -L127.0.0.1:1234:127.0.0.1:8888 便可以在localhost:1234直接访问远程的jupyter了。

ssh admin@47.110.132.227 -L127.0.0.1:1234:127.0.0.1:7890

服务器后台运行[6]

如果想要jupyter notebook 在服务器端一直运行,可使用下面命令:

$ nohup jupyter notebook&

接下来就可以愉快的使用jupyter notebook 了,如果是使用anaconda安装,这里更推荐使用jupyter lab,这个是一个更加高级的工具,使用起来体验感更佳,只需要把前面的jupyter notebook替换为jupyter lab即可。

使用jobs可查看后台进程,fg 可将后台中的命令调至前台继续运行, 如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出

参考文章

  1. https://blog.csdn.net/weixin_38705903/article/details/86533863

  2. https://www.jianshu.com/p/3cc167bd63dd

  3. https://zhuanlan.zhihu.com/p/44405596

  4. https://www.jianshu.com/p/fe8445f182ef

  5. https://www.cnblogs.com/yangxiaolan/p/5778305.html

  6. https://blog.csdn.net/benbenls/article/details/102987559