jupyter notebook 架设在服务器 在windows 本地用浏览器的访问服务器上的jupyter

本文介绍如何从官网下载并安装Anaconda,并详细说明使用Anaconda来配置Jupyter Notebook的过程,包括创建配置文件、生成SSL证书、设置密码及最终启动服务。
1. 官网下载anaconda

2.安装anaconda: bash Anaconda3-4.2.0-Linux-x86_64.sh(记得安装的最后yes 添加环境变量)

3.接下来,我们需要创建一个名为nbserver的配置。
ipython profile create nbserver
这将创建一个文件夹,其中包含一些原始的配置文件。我们跳转到这个文件夹进行一些配置
cd ~/.ipython/profile_nbserver/
4.由于ipython Notebook要求https连接,因此我们需要创建一个ssl证书。
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

5.启动ipython,$ ipython
创建远程连接密码,In [1]: from notebook.auth import passwd; passwd()
运行之后进入一个创建密码hash值的小程序,根据提示输入你想用的安全口令:
Enter password:(这是之后在本地浏览器,登陆服务器所需要的密码)
Verify password:
sha1:b86e933199ad:a02e9592e59723da722.. #这是我的密码的hash值,后段被删除,你的密码得到的结果应该不同

6.然后开始编辑配置文件,通过vi编辑文件的命令如下:
vim ipython_notebook_config.py
这个文件可能不存在,那么通过vi创建一个,配置文件的内容如下:
c = get_config()
# 所有matplotlib的图像都通过iline的方式显示
c.IPKernelApp.pylab = 'inline'
# 这一行指向我们刚刚创建的ssl证书
c.NotebookApp.certfile = u'/root/.ipython/profile_nbserver/mycert.pem'
# 给出刚刚创建的密码的哈希值
‘c.NotebookApp.password = u'sha1:b86e933199ad:a02e9592e5 etc... 'c.NotebookApp.ip = '*'
# 给出运行的端口,ipython默认为8888
c.NotebookApp.port = 8888
# 禁止在运行ipython的同时弹出浏览器
c.NotebookApp.open_browser = False

保存退出。

7.配置完毕以后就可以运行ipython Notebook的服务端了:
jupyter notebook --config=/root/.ipython/profile_nbserver/ipython_notebook_config.py #给出你刚才创建的nbserver路径


8.在你的浏览器地址栏输入:
https://www.youappdomain.com(可以编辑下一本机的host文件,做个IP和hostname 的映射)
我的是服务器IP和端口号是下面这样的:所以就这样的设置了
https://192.168.1.130:8899( 注意前面的https不能省,省了会报错,例如:SSL Error on 13 ('192.168.1.110', 9349): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:645))
注意:最好用chrome 浏览器
最后浏览器 打开的路径是之前在服务器上启动jupyter notebook 时候所在的路径

参考文献:
链接:https://zhuanlan.zhihu.com/p/20226040

<think>好的,我现在需要帮助用户解决如何在服务器上配置JupyterNotebook以便通过浏览器访问的问题。用户之前已经提到了他们在服务器上安装了Anaconda和Jupyter Notebook,现在需要配置远程访问。根据用户提供的引用内容,我需要整理出正确的步骤。首先,我应该回忆一下Jupyter Notebook的配置流程。通常,生成配置文件是第一步,使用命令jupyter notebook--generate-config。然后修改配置文件中的设置,比如允许任意IP访问,关闭浏览器,指定端口,设置密码等。用户提供的引用中提到了这些配置项,比如c.NotebookApp.ip ='*',c.NotebookApp.open_browser =False,还有端口的设置。此外,密码部分需要使用argon2的哈希值,这可能需要通过jupyternotebook password命令来生成,而不是手动编辑。接下来,我需要确保步骤正确无误。比如,生成配置文件是否正确,修改配置时是否需要注意语法错误,比如注释符号#是否正确使用。另外,设置密码时,用户可能需要运行jupyternotebook password来创建,而不是直接复制哈希值,这样可以避免错误。同时,防火墙设置也是一个关键点,用户需要确保指定的端口(比如8094)在服务器上开放,否则即使配置正确也无法访问。然后,考虑用户可能的错误。比如,IP地址设置不正确,如果设置为特定IP而不是'*',可能导致无法启动。引用中的例子提到不要设置成访问的IP,否则会报错。另外,密码配置是否正确,是否有权限问题,比如是否以root用户运行,是否需要设置allow_root=True。用户可能还遇到端口冲突的问题,比如选择的端口已经被占用,这时候需要更换端口。最后,需要验证步骤是否完整。比如,是否提到了启动命令,以及访问方式(通过http://服务器IP:端口)。可能还需要提醒用户使用SSH隧道作为备选方案,特别是如果直接开放端口有安全风险的话。同时,安全注意事项也很重要,比如使用密码保护,使用HTTPS,避免使用root权限运行,这些都应该在回答中提及,帮助用户安全地配置服务。 总结一下,我需要分步骤说明配置过程,确保每个环节都清晰,并指出常见问题和解决方案,同时强调安全设置的重要性。这样用户就能按照步骤操作,顺利访问服务器上的Jupyter Notebook了。</think>### 分步配置Jupyter Notebook远程访问方法 #### 步骤1:生成配置文件 在服务器终端执行以下命令生成默认配置文件: ```bash jupyter notebook --generate-config ``` 生成路径通常为`~/.jupyter/jupyter_notebook_config.py`[^1]。 #### 步骤2:设置密码 通过以下命令创建访问密码(推荐方式): ```bash jupyter notebook password ``` 输入两次密码后,系统会自动生成加密的`argon2`哈希值并写入配置文件[^2]。 #### 步骤3:修改配置文件 打开配置文件并添加以下核心参数: ```python c.NotebookApp.ip = '*' # 允许所有IP访问 c.NotebookApp.open_browser = False # 不自动打开浏览器 c.NotebookApp.port = 8094 # 指定端口号(建议使用8000-9999) c.NotebookApp.password = u'argon2:$...' # 自动生成的密码哈希 c.NotebookApp.allow_root = True # 允许root运行(非root用户可省略) ``` #### 步骤4:开放防火墙端口 以CentOS为例开放端口: ```bash firewall-cmd --permanent --add-port=8094/tcp firewall-cmd --reload ``` #### 步骤5:启动服务 通过以下命令启动服务: ```bash jupyter notebook --config ~/.jupyter/jupyter_notebook_config.py ``` #### 访问方式 在本地浏览器输入: ``` http://服务器IP地址:8094 ``` 输入步骤2设置的密码即可访问。 ### 常见问题解决方案 1. **连接被拒绝** - 检查防火墙设置`sudo ufw status` - 验证端口是否冲突`netstat -tuln | grep 8094` 2. **密码认证失败** - 重新执行`jupyter notebook password`生成新密码 - 检查配置文件中的哈希值是否完整 3. **无法绑定端口** - 尝试更换端口号(如8888) - 检查是否有其他Jupyter实例在运行 ### 安全增强建议 - 通过SSH隧道访问(更安全): ```bash ssh -L 8888:localhost:8094 用户名@服务器IP ``` 本地访问`http://localhost:8888` - 启用HTTPS支持(需准备SSL证书): ```python c.NotebookApp.certfile = '/path/to/cert.pem' c.NotebookApp.keyfile = '/path/to/key.pem' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值