前言:
????????原先我一直不知道還可以有這種騷操作,真是孤陋寡聞了╮(╯﹏╰)╭。今天偶然看到了能用這種方法,簡直給我沉重的一擊啊,趕緊就進行實現了。同時我也打算記錄一下過程,一是怕自己忘記,二是因為我在網上搜到了很多,但是都很粗糙,很多點還漏了,浪費了我很多的時間。好了,不多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的隧道設置,這個很方便,建議采用這個方法
好了,兩種方法都介紹完了,撤退~~~