欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

连接服务器的jupyter notebook

程序员文章站 2022-05-27 20:03:47
...

连接服务器可视化编程

方案1:服务器的jupter notebook 配置

1. 在命令行生产配置文件:

$ jupyter notebook --generate-config

2.设置密码:

 

方法 A(5.0vision)推荐

$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

方法 B

在ipython或者python 运行环境中调用设置密码>>from notebook.auth import passwd

In [2]: passwd()
Enter password:  xxxxxx
Verify password: xxxxxx
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'  # 这一**要复制到下面的配置文件中



3.修改配置文件


用任意编辑器打开刚刚生产的文件,一般linux在user文件夹下/.jupyter, win 默认安装在c:\user\user.jupyter 下:

找到下面几个部分进行修改 :

 


c.NotebookApp.password = u'sha:***'   #引号前记得写u,复制刚刚得到的密文于此
c.NotebookApp.open_browser = False # 默认不在本地浏览器中打开

c.NotebookApp.ip = '*'  # *代表监听所有端口,外网可以访问
c.NotebookApp.allow_remote_access=True #允许外部访问

c.NotebookApp.port =9900    # 设置一个本机端口来访问,建议不要设为8888
c.NotebookApp.notebook_dir ='jupyter'      #保存jupyter notebook的路径,可以自己设置,建议绝对路径。若是服务器的用户登录,会自动在前面加上用户目录。若路径报错,可注释掉


4.保存,在服务器上运行jupyter notebook

 

复制输出的 http://服务器ip:9900/ 在本地浏览器上打开,输入设置的密码即可。

 

(可选)使用https

 

3 生成SSL证书
因为Jupyter必须要用https进行登录,所以需要生成ssl证书。

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem



上面的命令需要填写一些个人信息,可以自动生成证书,但是这个证书是不安全的,只能在测试过程中使用。

 

在jupyter_notebook_config.py文件中加入:(路径改为文件的绝对路径)

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key’

 

就可以使用https了。这个证书是不安全的,只能在测试过程中使用

 

连接服务器的jupyter notebook

 


5 端口转发


为了使得外网能够访问位于内网的Jupyter,还需要进行端口转发:

进入路由器找到虚拟服务器
设置一个外部端口号码例如39887—对应内部Juypter端口如8888,在填入安装Jupyter计算机在局域网的对应IP如192.168.2.123。
例如路由器的公网IP为: 10.10.10.10
则使用10.10.10.10:39887即可访问对应的Jupyter页面
 

问题:

 

  File "/usr/lib/python3.5/socket.py", line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

连接服务器的jupyter notebook

解决:

这个问题主要是由于远程打开的时候,并没有allow_remote_access=True

输入命令

在 ~/.jupyter/jupyter_notebook_config.py 中加入:
 

c.NotebookApp.allow_remote_access=True


方案2:pycharm 专业版 通过配置ssh连接服务器上的项目目录,可用服务器上的python解释器

 

 

ref:https://blog.csdn.net/dongfangxiaozi_/article/details/88816644

https://blog.csdn.net/u014636245/article/details/70922960

https://blog.csdn.net/computerme/article/details/78751670
https://blog.csdn.net/computerme/article/details/78751670

相关标签: linux