(同一ip多臺設備)jupyterlab遠程訪問搭建

jupyter是幾乎是我機器學習相關最重要的開發工具,有時候打比賽需要用到較高配置的電腦,有資源但是總是要守着主機,也不是很方便,所幸有jupyterlab,幾乎與jupyter幾乎一樣的體驗,但可以遠程訪問,非常方便。

由於不是買的雲端服務器(擁有唯一外網ip地址),是多臺電腦連着同一臺路由器(多臺地址共享同一外網ip),所以我需要通過路由器的端口映射功能將主機開放的jupyterlab端口號映射到路由器上就可以訪問了。

我是用的是unbtun系統,一般使用的python3相對應的python版本 用pip3來安裝包。
自帶的pip一般指向linux自帶的python2版本
可通過以下的第一行命令來完成pip3的安裝
然後安裝jupyterlab

# 首先安裝pip3
sudo apt install python3-pip
# 通過清華源下載可以高速下載 
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlab

安裝成功後,打開ipython交互,來配置自己jupyterlab的密碼
例如設置1234,會hash生成一段字符,複製下來,粘貼到配置文件當中

$ ipython
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
Type "copyright", "credits" or "license" for more information.
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:1e39d24dcd6c:b265321ca0c4cb798888bcb69b0024983a8ac439'

接下來需要修改jupyterlab的配置文件來讓外網訪問

# 生成配置文件
$ jupyter lab --generate-config
Writing default config to: /home/ubuntu/.jupyter/jupyter_notebook_config.
# 通過vim修改配置文件
$ vim /home/ubuntu/.jupyter/jupyter_notebook_config.py

需要修改以下幾項內容
注意修改之後一定要去掉前面的註釋,否則無效

# vim編輯 命令模式下,輸入:/字符串 可以完成對字符串的搜索
# vim編輯 按i進入插入模式,再按鼠標中鍵可以粘貼,畢竟密碼那麼長粘貼更靠譜
# 將ip設置爲*,意味允許任何IP訪問
c.NotebookApp.ip = '*'
# 這裏的密碼就是上邊我們生成的那一串
c.NotebookApp.password = u'sha1:1e39d24dcd6c:b265321ca0c4cb798888bcb69b0024983a8ac439'
# 服務器上並沒有瀏覽器可以供Jupyter打開
c.NotebookApp.open_browser = False
# 監聽端口設置爲8888或其他自己喜歡的端口
c.NotebookApp.port = 8888
# 我們可以修改jupyter的工作目錄,也可以保持原樣不變,如果修改的話,要保證這一目錄已存在 
# 工作目錄設置爲需要root權限的話 在網頁會報403的錯誤
c.MappingKernelManager.root_dir = '/home/ubuntu/.jupyter_run/root'
# 允許遠程訪問
c.NotebookApp.allow_remote_access = True

開啓服務 就可以訪問了

# nohup表示ssh終端斷開後仍然運行
# &表示允許後臺運行
nohup jupyter lab &

如果你在外網能通過ip地址加端口號8888訪問,那你已經成功了
如果不行的話,可能是因爲設置路由端口映射來找到你這臺主機開放的端口號

那我們通過路由器自帶的端口映射來完成映射
打開網址192.168.1.1 輸入管理員密碼登陸,找到虛擬服務器設置,以TP-LINK爲例
圖片
點擊虛擬服務器,點擊添加,設置如下,因爲
常用服務器無需設置
外部端口隨意設置,就是你訪問的端口
jupyterlab端口上面設置爲8888,圖中內部端口是22,改成你的jupyterlab端口8888
ip地址爲192.168.1.199 主機的內網地址。

ifconfig -a #這行命令看到的就是你的內網地址

圖片
然後可以通過百度ip地址來獲得你的路由器外網ip地址
圖片
通過瀏覽器來連接你的jupyterlab

# 現假設你的外網地址查詢爲12.224.126.111,映射的外部地址18000對應的web網址爲
12.224.126.111:18000
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章