阿里云服务器ECS上安装anaconda 远程访问jupyter notebook解决方案

目录

一、安装anaconda

二、配置jupyter notebook

三、影响结果的小细节

---------------------------------------------------------------------

 

一、安装anaconda

ssh -oPort=6000 root@youripaddress

 

在云服务器上安装anaconda,

 

可以使用以下命令

wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh

从网络获取sh文件

也可以使用

scp -r Anaconda3-4.4.0-Linux-x86_64.sh username@192.168.0.1:/home/username/ 

将sh文件从本机上传至云服务器,username 以及 ip 文件名需要读者自行更换。

使用

bash Anaconda3-4.4.0-Linux-x86_64.sh

安装anaconda

安装好后,conda命令可能仍然无效(conda not found)

解决方案:

https://blog.csdn.net/qq_34447388/article/details/79660673

参考上面连接博客里的内容,可以配置环境变量。

配置成功后,需要重启终端才生效。

最后,

conda install jupyter notebook

安装jupyter notebook.

 

二、配置jupyter notebook

这个步骤在网路上都千篇一律

1.生成jupyter notebook配置文件

jupyter notebook --generate-config

输入本命令即可,无需做其它操作。

2.打开ipython

ipython

 

在ipython下输入

 

In [1]: from notebook.auth import passwd
In [2]: passwd()
   Enter password: 
   Verify password: 
Out[2]: 'sha1:**************打码*******************'
   In [3]:exit

上面的passwd是登陆服务器的密码。

OUT【2】的输出一定要复制下来,存在某txt里,后面会用到。

3.修改jupyter 配置文件

vi ~/.jupyter/jupyter_notebook_config.py 

在vi打开的文件里输入

   c.NotebookApp.ip='*'
   c.NotebookApp.password = u'sha1:*******上面保存的密码用在这里****************'
   c.NotebookApp.open_browser = False
   c.NotebookApp.port =8889    #随便指定一个端口,使用默认8888也可以

4.访问jupyter notebook

jupyter notebook  --no-browser --allow-root

出现这个,离成功就只有一步之遥了

[W 21:51:35.627 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 21:51:35.636 NotebookApp] Serving notebooks from local directory: /root
[I 21:51:35.637 NotebookApp] 0 active kernels
[I 21:51:35.637 NotebookApp] The Jupyter Notebook is running at:
[I 21:51:35.637 NotebookApp] http://[all ip addresses on your system]:8889/
[I 21:51:35.637 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

5.在你本机的浏览器里,输入

http://[all ip addresses on your system]:8889/

 

[all ip addresses on your system]   ---- 你远程连接使用的服务器地址就可以

 

不出意外就能够到达jupyter notebook界面,

 

界面要求你输入密码,输入登入服务器的密码即可。

 

PS :

此处可能会报错 [Errno -5] No address associated with hostname

将 c.NotebookApp.ip='*' 替换为 c.NotebookApp.ip='0.0.0.0' 即可

 

三、影响结果的小细节

 

我做了一晚上,刚开始在第四步就怂了。

1.有人说,需要在安全组里面添加一个允许8888端口的tcp协议的安全组规则。

首先添加安全组规则

阿里云-》产品与服务-》云服务器ECS-》网络和安全-》安全组-》在上方的安全组列表里面,选择你服务器所在的地区,

点击创建安全组-》配置规则-》具体事宜需要在参考一下阿里云提供的教程,确保端口为8888 并且是TCP协议就好。

再把安全组规则添加至指定实例

阿里云-》产品与服务-》云服务器ECS-》实例-》选中你的实例,右下点击更多-》安全组配置-》本实例安全组-》加入安全组-》加入刚刚配置的安全组

2.配置好了安全组,还是可能访问不了,有人说,是防火墙的问题

sudo ufw disable

3.还有人说,阿里云ECS不允许多终端访问,所以jupyter notebook运行之后,这边的终端得关了。

除了3,1\2我都试过,无法求证到底是哪里的问题让我卡了那么久。不过試了很多次后总算成功了。


版权声明:本文为qq_34447388原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。