在服务器上配置jupyter notebook

本文介绍如何在服务器上配置Jupyter Notebook,实现通过任意浏览器远程访问。包括安装配置步骤、设置密码、生成SSL证书及修改配置等内容。

anaconda一般自带安装好了juypter ,如果没有,可以用conda install jupyter命令安装。

安装好以后,需要在服务器上配置jupyter以便任何浏览器都能通过IP直接访问服务器上的juypter服务。

1 生成jupyter_notebook_config.py配置文件

通过命令jupyter notebook --generate-config生成配置文件。
记录下生成的配置文件位置,例如:/home/.jupyter/jupyter_notebook_config.py

2 设置密码并生成密码的sha1秘钥

在命令行输入python,然后执行下面的两条语句并根据提示输入密码

from notebook.auth import passwd
passwd()

确认密码后会生成一个sha1码,这个码需要记住。

Enter password: 
Verify password: 
'sha1:*************

3 生成SSL证书

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

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

上面的命令可以自动生成证书,但是这个证书是不安全的,只能在测试过程中使用。

4 修改配置

~/.jupyter/jupyter_notebook_config.py末尾添加如下内容

c.NotebookApp.password = u'sha1:***' #上面第二步中生成的密钥
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key’

c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False

# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999

5. 测试

先在服务器上想要执行ipynb的目录下用jupyter notebook命令启动服务,然后
在任意一台终端的浏览器中输入https://[all ip addresses on your system]:9999/测试,会提示输入密码,表示成功!!!注意,需要用https

Reference:
http://blog.csdn.net/SA14023053/article/details/51725580
http://www.qiuqingyu.cn/2017/05/15/%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E5%8D%87%E7%BA%A7python%E5%B9%B6%E5%AE%89%E8%A3%85Jupyter/

### 如何在远程服务器配置并运行 Jupyter Notebook #### 配置环境 为了能够在远程服务器上成功运行 Jupyter Notebook,首先需要确保服务器已经安装了必要的依赖项。如果尚未安装 Jupyter Notebook,则可以通过以下命令完成安装: 对于基于 Conda 的环境,可以执行如下操作来安装 Jupyter Notebook: ```bash conda install notebook ``` 此方法适用于大多数科学计算场景下的 Python 虚拟环境管理工具[^2]。 #### 启动服务 启动 Jupyter Notebook 可以通过多种方式进行调整,具体取决于用户的实际需求和权限情况。以下是常见的几种方式及其对应的指令说明: - **默认模式** 使用标准的方式启动 Jupyter Notebook: ```bash jupyter notebook ``` - **无浏览器模式** 如果不需要自动打开网页界面或者希望减少不必要的资源消耗,可以选择不开启浏览器窗口: ```bash jupyter notebook --no-browser ``` - **指定端口号** 当存在多个程序占用常用端口时,可通过设定特定端口避免冲突: ```bash jupyter notebook --no-browser --port=8005 ``` - **允许 Root 用户访问** 对于某些特殊情况下由超级管理员身份登录的情况,需额外增加选项支持该功能: ```bash jupyter notebook --allow-root ``` - **后台持续运行** 利用 `nohup` 命令可以让进程独立于当前会话继续工作,即便关闭终端也不会影响其正常运转: ```bash nohup jupyter notebook & ``` 以上每种形式都有各自适用范围,请依据实际情况选取合适的方法[^3]。 #### 远程连接设置 当上述步骤完成后,还需要进一步处理网络层面的安全性和可达性问题。通常做法包括但不限于修改配置文件、创建 SSH 隧道等手段增强交互体验的同时保障数据传输安全。 ##### 修改 Config 文件 生成一个新的个性化配置文档,并对其进行编辑以便自定义更多高级特性比如密码保护机制或是启用 HTTPS 加密通信等功能。 ```bash jupyter notebook --generate-config vim ~/.jupyter/jupyter_notebook_config.py ``` 在此过程中可加入类似下面这样的语句实现更严格的控制策略: ```python c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8888 c.NotebookApp.password = 'sha1:<your_hashed_password>' ``` ##### 设置 SSH Tunneling (SSH 隧道) 建立一条加密通道使得本地客户端能够透明地访问远端的服务实例而无需暴露公网IP地址给外界攻击者尝试入侵的风险。 ```bash ssh -N -f -L localhost:8888:localhost:8888 user@remote_host ``` 这样就可以像平常一样从个人电脑上面直接加载对应网址链接进入目标平台开展研究活动啦! --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值