数据分析与挖掘程序员好记性不如烂笔头

win10本地连接linux服务器的jupyter notebo

2018-09-06  本文已影响0人  只要肯吃苦__就能开路虎

前言:


        原先我一直不知道还可以有这种骚操作,真是孤陋寡闻了╮(╯﹏╰)╭。今天偶然看到了能用这种方法,简直给我沉重的一击啊,赶紧就进行实现了。同时我也打算记录一下过程,一是怕自己忘记,二是因为我在网上搜到了很多,但是都很粗糙,很多点还漏了,浪费了我很多的时间。好了,不多bb,开始干。。。

第一步:


        首先,你要在服务器上装好jupyter notebook,这里我推荐直接装Anaconda,非常方便。

第二步:


        生成配置文件:jupyter notebook --generate-config

第三步:


        生成自己设置的密码:import IPython;print(IPython.lib.passwd()) 然后敲回车,输入你自己想要的密码,再确认输入一遍就可以了。同时会生成一个密码序列,记得要复制下来,后面要用到。

第四步:


        生成ssl证书:openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem  要记住他的路径,可以先用ls查看有没有生成两个文件,后面使用pwd查看他的路径,后面也要用到。

第五步:


        接下来就是关键的步骤了,但是还是很简单,使用命令打开配置文件:vim ~/.jupyter/jupyter_notebook_config.py  添加几行配置:

        c.NotebookApp.password = u'sha1:XXXXX'(ps:刚刚第三步生成的密码序列,sha:也要加进去)                                                                                                         c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'                    c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'(ps:刚刚第四步生成的证书)                                                            

        c.NotebookApp.ip = '*'

        c.NotebookApp.open_browser = False

        c.NotebookApp.port = 9999(ps:端口随便设置,要空闲的)

第六步:


        在服务器上运行jupyter notebook即可。如果是用root用户就执行jupyter notebook --allow-root,这样就不会报错了。

第七步:


        在本地上浏览器上访问:https://your_domain_or_IP:9999 切记,一定要加https,不然会报错。

最后结果展示:

                                            完结撒花!!!!!!!!!!!!!!!

ps:果然又界面化的还是舒服啊,怎么早没发现呢╭(╯^╰)╮╭(╯^╰)╮╭(╯^╰)╮╭(╯^╰)╮

遇到的新问题:


       我在新建一个python3的jupyter notebook时,发现会报Permission deni的错误。这是权限的问题,只要输入sudo chmod 777 .local/share/jupyter就可以解决这个问题了,如果发现.local/share下没有jupyter这个文件夹,就新建一个即可。再实行sudo命令,最后在重启jupyter notebook。

新添(云服务器的配置):


        最近使用了阿里云服务器,步骤都完整的走一遍了,就是最后在本地上不去网,搞了一下午,找了好多资料才解决,下面我来具体的说一下:

        因为阿里云为了安全起见,默认只开放了22、80等几个端口。因此我们在jupyter中设置的端口会被屏蔽掉,所以要在安全组配置中进行配置,将此端口开放。

设置过程:云服务器管理控制台》云服务器ECS》网络和安全》安全组》配置规则》添加安全组规则

            授权对象填 0.0.0.0/0 。表示这个端口开放给所有ip。

再次更新(19.01.03)


            今天我用打算安装pytorch。然后遇到了一些问题,记录一下:

            首先:要为pytorch创建一个虚拟环境,这样避免跟其他环境(如:tf)互相冲突。执行

                                        conda create -n pytorch python=3.6

这样就创建了一个名称为pytorch的虚拟环境,其中python版本为3.6。然后我们要激活这个环境,输入命令

                                                 source activate pytorch

激活后,会看到前面会显示pytorch

但是这样安装完后,我在导入的时候就会报错:

找了好多的资料,还是没有解决了,最后一个大佬给了我解决方法,再此非常感谢,给出大佬的链接大佬很强

然后要继续执行:

                                            conda install ipykernel

然后把jupyter notebook的环境写进去:

    python -m ipykernel install --user --name pytorch --display-name "pytorch "

然后打开jupyter notebook;

最后再打开ipybnb文件后,点击kernel-->change kernel

大功告成,完结撒花。。。。

又一次更新(2019.04.19)


        今天申请了学校的服务器,我按照前面的步骤都弄好了,但是在本地上访问的时候就显示,无法访问该网页,10.*.*.*拒绝了你的访问请求,这可真是太烦了,眼看就要成功了。。。

        然后我就又开始拼命的折腾了,后面发现是防火墙的问题,端口都不开放出来的,所以你是访问不了的,那我就拼命的想开放一下端口,但是不行啊,不是sudo权限感觉就是一条咸鱼了,啥也干不了。。。。浓浓的绝望。

        后面突然看到能用ssh端口转发映射,终于可以使用了,开心,有两种方案:

        1.使用以下命令 

           ssh -N -f -L localhost:8888:localhost:7000 -p 29 lhw@202.118.239.147

        其中前面一个localhost就是代表你本机的,后面一个localhost就是代表服务器的,端口号就是你要映射的,后面就是登陆服务器的格式。不多说了,这样玩之后,然后打开jupyter notebook,然后再本地浏览器输入https://localhost:8888就能访问了。

        2.使用xshell的隧道设置,这个很方便,建议采用这个方法

好了,两种方法都介绍完了,撤退~~~

上一篇下一篇

猜你喜欢

热点阅读