配置IPython Notebook提供非本地訪問
裝完IPython Notebook,系統默認只有本機能用,我就在想怎麼能夠提供一個大家一起訪問的環境。
查了一下,官方文檔上具體的方法,可以看官方文檔Running a public notebook server,
裡面介紹了通過配置SSL+password 提供全局訪問,經測試成功。
但由於我想指定某些網段訪問,目前還沒有找到在配置文件(jupyter_notebook_config.py)如何設置,就使用了Nginx+password驗證的方式,也成功了,
在此就具體介紹一下這2種方法。
A.SSL+password驗證
我先介紹一下我的執行環境上如何按官方文檔的操作步驟:
進入3.5.1環境
pyenv activate env351
1.生成配置文件
(env351) [seng@localhost ~]$ jupyter notebook --generate-confignWriting default config to: /home/seng/.jupyter/jupyter_notebook_config.pyn
2.生成密碼
In [1]: from notebook.auth import passwdnIn [2]: passwd()nEnter password:nVerify password:nOut[2]: sha1:.........n
3.生成ssl證書
cd ~/.jupyternopenssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pemn
4.修改配置文件jupyter_notebook_config.py,
注意官方文檔說需要ssl才能打開外部訪問
c.NotebookApp.base_url = /ipython/ --制定url的path,默認是根目錄nc.NotebookApp.password = usha1:..... --注意和生成的配套nc.NotebookApp.ip = * --目前沒找到制定網段的方法nc.NotebookApp.open_browser = Falsenc.NotebookApp.certfile = /home/biuser/.jupyter/mycert.pemnc.NotebookApp.keyfile = /home/biuser/.jupyter/mykey.keyn
jupyter_notebook_config.py里具體參數說明可以參考Config file and command line options
5.啟動並訪問
jupyter notebook nhttps://host:8888/ipython/tree#notebooksn
B. Nginx+password驗證方式
1.生成配置文件
(env351) [seng@localhost ~]$ jupyter notebook --generate-confignWriting default config to: /home/seng/.jupyter/jupyter_notebook_config.pyn
2.修改配置文件jupyter_notebook_config.py,
c.NotebookApp.base_url = /ipython/ --制定url的path,默認是根目錄nc.NotebookApp.password = usha1:..... --注意和生成的配套nc.NotebookApp.open_browser = Falsen
3.安裝並配置Nginx
注意 proxy_set的一些參數,這些是一定需要的。
location /ipython {n allow 192.168.1.0/24; #制定自己的網段即可n deny all;n proxy_pass http://127.0.0.1:8888/;n proxy_http_version 1.1;n proxy_set_header Upgrade $http_upgrade;n proxy_set_header Connection "upgrade";n proxy_set_header Origin "";n }n
4.啟動並訪問
jupyter notebook
nginxhttp://host:nginxport/ipython/tree#notebook-------------
作者:seng
博客專欄:seng的博客
大家也可以加小編微信:tszhihu (備註:Python),拉大家到 Python愛好者社區 微信群,可以跟各位老師互相交流。謝謝。
也可以關注微信公眾號:Python愛好者社區 (ID:python_shequ)
推薦閱讀:
※構建PyQt5.8/Python2.7
※Kivy中文編程指南:事件和屬性
※分享一個簡單的多進程小爬蟲
※第一章 | 使用python機器學習
※Python數據分析及可視化實例之Flask Web開發
TAG:Python | IPython | JupyterNotebookIPythonNotebook |