小言_互联网的博客

【CentOS7.3】阿里云轻量级服务器CentOS7.3远程配置jupyterLab到浏览器访问相关问题

618人阅读  评论(0)

前言

最近博主一直和阿里云轻量级服务器搞得的你情我浓的,动不动人家还给我甩脸子,这不一个问题就困扰博主许久~~~,所以终于咨询了一下搞运维相关的大学同学,此问题终于解决!!!
1、问题:

关于“CentOS7.3配置jupyterLab使其能够到浏览器中访问”问题困扰博主真的是好久好久了,终于搞定了,今天特此总结一下。

2、博主装备

阿里云轻量级服务器CentOS7.3
本地谷歌浏览器
Xshell6

3、关于CentOS7.3中安装anaconda可参考此篇博文

https://blog.csdn.net/Jiajikang_jjk/article/details/101550397


一、安装/配置jupyterlab

说明:此前提条件是——已经在CentOS7.3中安装好anaconda

1.1 安装jupyterlab

通过以下命令安装jupyterlab

conda install jupyterlab

1.2 配置jupyterlab——准备工作

配置jupyterlab使其能够远程在浏览器中登录使用

1.2.1 生成配置文件

jupyter lab --generate-config
生成配置文件:
(tensorflow) [root@izuf63xc848w2955bl9svqz ~]# jupyter lab --generate-config
Overwrite /root/.jupyter/jupyter_notebook_config.py with default config? [y/N]y

记住:生成此生成的配置文件的路径,因为待会我们会在里面进行实现一些配置(它就是配置文件)

1.2.2 生成登录密码

需要生成jupyterlab远程登录到浏览器中的密码(因为博主在实现之后,发现之前的操作没有来的及截图,所以这就给给出详细的操作流程命令)

接着依次输入

from notebook.auth import passwd
passwd()
Enter password:写小可爱你的密码
Verify password:再次输入小可爱的密码

然后会产生一个形如:'sha1:36453f23eebd:9caffef99d8a7e~~~~~~~~~~~~~~~~~~~~~~~~~~'的一个密钥,记住这个玩意,因为待会也要在1.2.1中生成的配置文件中进行添加。


1.3 修改配置文件jupyter_notebook_config.py文件

1.3.1 打开配置文件

(tensorflow) [root@izuf63xc848w2955bl9svqz ~]# vim /root/.jupyter/jupyter_notebook_config.py

1.3.2 添加配置信息

c.NotebookApp.ip='*' # 将ip设置为*,允许任何ip都可以访问
c.NotebookApp.password = u'sha1:36453f23eebd:9ca~~~~~~~~~~~~~~~~~~~~~~~~~~~~' # 设置登录密码
c.NotebookApp.open_browser = False # 因为服务器上面并没有浏览器提供给jupyter打开
c.NotebookApp.port = 8888 # 设置端口号
c.NotebookApp.notebook_dir = u'/root/anaconda3/envs/tensorflow/deep_learning_practise'# 指定文件路径
c.NotebookApp.allow_remote_access = True # 允许远程访问


1.3.3 验证

启动jupyterlat:jupyter lab -allow-root


浏览器中输入小可爱的阿里云公网IP+配置的端口号:http://公网ip:8888

好吧,终于搞定了!!!


接下来简单说一说博主入的坑

二、博主入的坑

按照上面的要求,我配置完成之后,然后运行报错:OSError: [Errno 99] Cannot assign requested address
于是乎,网上有各种的解决方案
方案一

vim /etc/hosts
vim /etc/hostname

就是将命令1中的127.0.0.1 localhost中的localhost此部分修改为和命令2中的一样,But,对我而言并没有卵用呀。


方案二

查看防火墙,可能是防火墙的原因导致浏览器中访问失败
firewall-cmd --state #查看防火墙的状态
systemctl stop firewalld.service # 停止防火墙
systemctl disable firewalld.service # 禁止防火墙开机启动


除此之外,可通过命令:netstat -aunltp 查看所有端口号的状态。
奈何对我而言,还是没用!!!


方案三
方案三可就更高级了,说是要在阿里云控制台上创建安全组

然后,我有各种查看了一番阿里的官方说明文档以及各种网友的分享,觉得感觉有点麻烦,此时我已经到了第二天因为此问题纠缠了半天了,啊~~~~~~我觉得不靠谱此种方法,所以我就另辟新径——咨询了我搞运维的同学。


最后我的问题出现在

1、c.NotebookApp.ip的ip写成id,emmmm我心真累
2、在浏览器中输入的网址我也不知道我为何会输入:http:127.0.0.1:8888导致浏览器一直访问不了,原来是要输入自己的公网IP地址(说明c.NotebookApp.ip=‘*’这里我配置的是适合所有的ip地址,具体的我也不懂这些弯弯绕绕的)


在此之前还有其他好多相关的坑,导致就是浏览器访问不成功,最后问题解决了,前面的错误也没来得及记录,那就到这里吧,,,,加油!!!


转载:https://blog.csdn.net/Jiajikang_jjk/article/details/101787534
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场