一个野生程序猿的折腾日记

第二次装Jupyter的坎坷之路

背景

现在是2020.11.28上午,我第二次把Jupyter Notebook给成功部署在了我的阿里云ECS上面。 之前其实我已经部署了一次了,那是半个月以前的事情,具体的情况在happyAfterHopeless.ipynb文件里面有写。但是呢,当时只写了装成功时的感受,并没有涉及后来的事情,因此我要在这里补充一下:

算力碾压7th酷睿i5

当时安装完成之后给我蹦出来的界面是Jupyter Lab,没怎么用过,但是都是一家的,本质上没啥区别,我也就接受了。我本来没对我这个十块钱一个月的云服务器的运算能力抱很大希望,毕竟太便宜了,但是经过了几番测试我发现,这计算能力不是一般的牛逼啊,简直是甩我的小笔记本好几条街。于是,我就打算把这个云服务器当成我的主要生产力工具。出于习惯,我想给这个装一点插件,起码的,目录插件得有吧。

插件风波

好家伙,就在插件这个问题上面,我可真是要被难为死了。

nodejs

我点击装插件的时候,上来就显示一个消息框,让我首先必须要安装一个10.0以上版本的nodejs,并且还贴心的给我提供了一个安装办法,说是直接conda install nodejs就行了。我试了一下,给我装的是6.x版本的,显然不满足要求。我查了一下卸载办法,倒是也有,就是conda uninstall nodejs,结果他要输入一个[y]来表示确认卸载,这尼玛正在运行呢我怎么给你输入个y。然后到服务器上卸载,总算是卸载完了。

然后就是无止境的安装,我尝试了:

  • 官网下载源码安装,先下载tar.gz格式的文件,然后解压缩,bash,最后建立软连接(据说是个类似于快捷方式的东西),然后点击安装JN插件,失败
  • 直接pip安装,这个方式倒是方便,直接pip install nodejs,用的还是阿里云镜像,一会就给我装好了,然后一看版本号,我特么,0.x版本,,失败again
  • apt get安装,好了,又是版本号问题,是4.x吧,具体忘了,反正没到10.0以上
  • (此处省略无数次百度到的方案……)
    并且在进行这些安装的时候,我时不时会采用nodejs -v的命令来查看版本号,发现版本号总是莫名其妙,跟我想象的应该显示的版本号不一致。多个版本带来的另一个问题就是我不知道怎么卸载。我用我多年的电脑直觉,觉得应该不是把文件给rm -f了这么简单,事实也的确如此,我连安装在哪里,正在运行的是哪一个都不知道,我去哪知道怎么卸载呢?

至于最后怎么解决的: 说来也巧,这个解决的办法是,,,:

  1. conda search nodejs,搜一下conda里面有哪些个版本的nodejs
  2. conda install nodejs=14.7.0 -c conda-forge,找个版本高于10的版本号,写在=后面,然后就行了。。。
    好了,至此,nodejs的问题终于解决了。

正式装插件

折腾了半天nodejs的我此时已经精疲力竭,但是当我看到我点击插件列表下面的install的时候,它不再提醒我要装nodejs>=10.0的时候,还是非常激动的。于是,我就正式开始装插件啦。

我之前在我的电脑上面用过Jupyter Notebook,并且装了很多插件,每次装一个插件就是在复选框里面打个勾就行了。这个Lab倒好,我点完install,他给我安装半天,然后问我要不要rebuild一下,我心想啥玩意,但是既然他提醒我了,那应该就是有道理的,于是我就点了。好家伙,点完之后直接跟我说要wait for a long time,问我是keep还是啥啥啥,我说先keep一下。我看了一下阿里云app上面的cpu监控,占用非常高。那应该是在干活吧?

可是,rebuild了半天,给我显示的页面还是没有变化,只是插件栏里的installed项目多了几个东西。好了,看样子这个也不是什么好装的东西。

然后我就继续百度,查资料,一次次地去尝试,渐渐了解到这个rebuild是下载了插件的源代码之后,要把整个lab给重新编译一下,可以多装几个之后再一起rebulid。我于是一口气装了七八个插件,然后一起rebulid了半天。过了十来分钟吧,跟我说好了,让我刷新一下页面。我刷新了一下,先给我转了几圈动画,然后终于进去了。我一看,哈,左边的一栏还真多出来了个东西,是GitHub的图标,应该是那个可以直接调用现成项目的那个插件。可是,我明明装了七八个插件啊,怎么就给我出来了一个啊?起码的,我的目录插件toc去哪里了啊?

不信邪的我按照上述方法继续install, rebuild, uninstall, rebuild, reboot……最后还是只有GitHub的插件显示在旁边,别的插件我怎么弄他都不给我显示出来,就是不成功,你能拿我怎么样?

我真是信了你的邪。。老子不装插件了,好吧?

最后一根稻草

在决定不装插件之后,世界就美好了许多。。我也就有一段时间没管这个服务器了,直到那一天。

11月25号的时候,我去鉴四做stata实验。说是做实验,其实就是换了个地方听老师念ppt。我平时都不听课,现在手边还有电脑,那就更没有理由听课了。我顺手打开xiaoyaojiushao.com,欣赏了一下我的网页,然后准备进上文提到的Jupyter Lab,给我的小伙伴们展示一下我配置出来的环境。结果我输入网址之后,啪,给老子整个空白,是403还是404,忘了,反正打不开,让我的小伙伴一头雾水,让我一脸尴尬。我急忙打开我的阿里云服务器,重启了一下,用了nohup,还是打不开,然后我又重启了一遍,直接输入jupyter lab --allow-root,终于可以了。结果,当我又把小伙伴叫过来看的时候,又来了个ERROR,我特么。。。后来又重启,又各种操作,不管输入啥,再也打不开我的Jupyter Lab了。我看了看我的服务器状态,CPU和内存一直占用40%多,很高。我就在想这个wp和jn是不是在背着我搞什么大新闻,联手不听我话。

就从这时候起,我决定:直接重装系统,把整个系统镜像都给换了。

重装系统

由于周三(11月25号)的第二天我就要去考科目二了,重装系统的计划没有立即实施。

宝塔Linux面板

但是这并不代表我就忘了这个云服务器。周四的时候我考完了科目二,并且考了满分,非常高兴,停了一天。周五的时候我就开始着手重装系统了。周五上午的时候我用iPad看了看阿里云的镜像市场,发现里面有好多镜像,wordpres啥的都是小儿科,各种各样的镜像都有。我选了个CentOS+wordpress的镜像,下午五六点钟开始重装。但是吧,装好了之后发现不太好使,我死活找不到Wordpress的安装包。折腾了一会后,我放弃了,又换了个镜像。这次换的是大名鼎鼎的宝塔Linux面板,之前我安装Wordpress建站的时候听过这个,但是没有管他。现在一装,啊,真香,可视化面板,还能一键部署各种乱七八糟的环境,真的大幅提高生产力。像wordpress,直接一键部署,一会就给我把网站给做出来了,省时省力省心,点个赞。

再次部署Jupyter Notebook

宝塔的一个问题是没有一键部署anaconda,或jupyter,于是我只能亲自动手,再次按照知乎的教程,一步步地安装各种,然后修改配置文件啊啥的。

在这里我要说明的是,用Linux的时候,把字母打对真的非常重要。我在生成JN的配置文件的时候,把config打成了cofig,直接搞的我后续用vim编辑的时候原地崩溃,改了就报错,退了也报错,保存并退出更是报错。最后百度了一下,原来是要用w!才能强行退出来。如此往复了好几遍,我才终于发现是我之前的打字打错了…我下次一定注意呜呜呜。

整个配置完毕后,我去阿里云把端口打开,然后先后重启并运行了以下几行代码:

  • nohup jupyter notebook --allow-root &
  • jupyter notebook --allow-root
  • 把上面两行代码里面的notebook换成lab,再来一遍。。。
    然后在chrome、edge、手机chrome里分别打开:
  • 101.37.252.210:9000
  • 101.37.252.210:9001
    我从十点半一直调试到十一点半,一直是403,要不就是别到Error,总之搞的很心累。我反复检查了我阿里云的端口,确认是开了;我又检查了一下nohup.out文件,也是显示的已经在9000端口运行了。到底是什么原因啊阿啊阿啊

最终成功

第二天早上我起床之后,想起来一个事情:我这个宝塔Linux面板好像也有一个安全组策略?好像还有一道防火墙?我点进去找了一下,好家伙,这里果然还有一个端口我没开。我把9000端口往宝塔面板里一输入,再输入网址栏,啪,成功了!显示了Jupyter的界面,而且还是我熟悉的notebook!!!

我成功了!!!奥利给!!!


Warning: printf(): Too few arguments in /www/wwwroot/www.xiaoyaojiushao.com/wp-content/themes/simple-flat/inc/template-tags.php on line 58

2 thoughts on “第二次装Jupyter的坎坷之路

GOSSACK0413进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注