美文网首页
jupyter使用远程服务器调试

jupyter使用远程服务器调试

作者: 默写年华Antifragile | 来源:发表于2019-02-22 17:43 被阅读3次

    前提:

    • 远程服务器:CentOs 7
    • 本地计算机:Ubuntu 16.04

    步骤:

    1. 远程服务器安装anaconda:

    • 可以去官网下载合适版本的anaconda,或使用一下脚本(可修改版本号):
      wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
      
    • 运行安装向导:
      bash Anaconda3-5.2.0-Linux-x86_64.sh
      
    • 确认是否安装成功
      conda --version
      

    2. 远程服务器配置jupyter

    • 现在命令行里输入ipython进入 ipython环境
      from notebook.auth import passwd 
      passwd() 
      
      然后输入密码,连续输入2次,会输出一个哈希值,如下例所示:
      sha1:26fe880a60ee:c466e27d9cc2befadd3b72bfcbafce1a07703a27,复制此值
    • 进入安装目录:cd /home/user-name/anaconda3/etc/jupyter
      执行命令:jupyter notebook --generate-config
      (该命令会产生文件:home/user-name/.jupyter/jupyter_notebook_config.py)
    • 然后再编辑产生的文件:vi home/user-name/.jupyter/jupyter_notebook_config.py
      在最后面加入:
      c.NotebookApp.ip = '*' # 允许访问此服务器的 IP,星号表示任意 IP
      c.NotebookApp.password = u'sha1:xxx:xxx' # 之前生成的密码 hash 字串, 粘贴进去
      c.NotebookApp.open_browser = False # 运行时不打开本机浏览器
      c.NotebookApp.port = 12035 # 使用的端口,随意设置
      c.NotebookApp.enable_mathjax = True # 启用 MathJax
      c.NotebookApp.allow_remote_access = True #允许远程访问
      
    • 最后再启动jupyter notebook
      image.png
      一般来说,在本地计算机浏览器上将红框位置对应的127.0.0.1换成远程服务器的地址即可访问,但是由于远程服务器防火墙的作用,在本地浏览器上无法打开,此时最简单的方法是在本地建立一个ssh通道:
      ssh -p remote_port remote_user@remote_ip -L127.0.0.1:1234:127.0.0.1:12035 # -L表示本地映射转发
      

    -L 表示本地映射转发,选项值代表ssh客户端和服务端转发的端口,这里选取1234为本地jupyter监听端口。remote_user@remote_ip 用实际的远程帐户和远程地址替换
    这样本地浏览器输入127.0.0.1:1234即可,1234可以自定义端口选取。选取1024-65535之间的并且尚未使用的端口号即可,此时登陆要求输入密码即可

    相关文章

      网友评论

          本文标题:jupyter使用远程服务器调试

          本文链接:https://www.haomeiwen.com/subject/kgneyqtx.html