阿里云服务器部署Jupyter私房菜

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 在阿里云ECS上,选用2核2G的配置,安装Ubuntu 22.04,然后部署Nginx作为Jupyter Notebook的反向代理。安装Miniconda3,配置清华TUNA镜像源以加速下载。创建Jupyter Notebook,设置密码和远程访问,通过Nginx配置实现安全访问。整个过程包括安装Jupyter,修改Nginx配置,最后通过浏览器访问 Notebook。

一、准备工作

1.准备一台云服务器

我选择的是阿里云ECS,配置:2核2G,SSD40G,3M固定带宽(今年销冠)
aliyun_99.png

服务器的操作系统选用ubuntu 22.04。
ubuntu_env.png

2.安装nginx,用于反向代理jupyter-notebook服务

3.放通jupyter访问端口

image.png

二、安装包管理器及python环境

1. 通过清华TUNA镜像站下载miniconda

从清华源下载miniconda安装脚本

$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_23.11.0-2-Linux-x86_64.sh

运行安装miniconda

$ sh  Miniconda3-py39_23.11.0-2-Linux-x86_64.sh

进入conda环境(另外一种方式可以在安装过程中选择conda初始化脚本写入./bashrc文件,只是我没有选择此类方式)

$ eval "$(/home/forrest/miniconda3/bin/conda shell.zsh hook)"

image.png

进入conda环境后,想要退出怎么办?

$(base) conda deactivate

为什么不用anaconda?
庙小装不下(你在开玩笑?),Anaconda包含conda、Python和超过1500个科学包及其依赖项,预装了大量的库,如NumPy, Pandas, Scipy, Matplotlib等,安装包大概在3 GB。从来不点全家桶(啥啥都用,难道不香吗?),起步阶段上手python,没有更多的需求,趟过新手村了,进阶的时候,我们再根据自己使用需求去有选择性地安装想用的工具。

2. 创建配置文件.condarc

配置文件不是默认安装,小伙伴们可以手动安装一下

$ (base) conda config --add channels conda-forge

image.png

3. 将conda源替换成清华源

通过修改/.condarc来使用 TUNA 镜像源,不仅TUNA 提供了 Anaconda 仓库与第三方源,更重要的是速度够快(快不快,谁用谁知道!)

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

4. 清除索引缓存

确保使用清华源镜像站提供的索引,需要执行清除缓存的动作

(base)$ conda clean -i

三、安装Jupyter-Notebook

1.下载安装jupyter notebook

(base)$ conda install jupyter notebook

2.配置密码

(base)$ python
Python 3.9.18 (main, Sep 11 2023, 13:41:44)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from jupyter_server.auth import passwd;
>>> passwd() # 输入完两遍密码后,会生成哈希加密字符串,保留备用。
>>> quit() # 退出当前环境

notebook_passwd.png

3.配置nb参数

生成nb配置文件,并通过VIM对配置文件进行修改

(base)$ jupyter notebook --generate-config

进入配置目录并找到配置文件
(base)$ cd ~/.jupyter 

修改配置文件
(base)$ vim jupyter_notebook_config.py

notebook_config.png

注释符号#删除,并重新输入相应参数,并通过:wq进行保存

允许任何来源的请求
c.ServerApp.allow_origin = '*'

允许远程访问
c.ServerApp.allow_remote_access = True

jupyter notebook所在主机IP地址
c.ServerApp.ip = 'localhost'

生成项目文件的保存路径
c.ServerApp.notebook_dir = '/home/forrest/iPython'

本地浏览器打开(关闭)
c.ServerApp.open_browser = False

配置密码时生成的字符串写入进去
c.ServerApp.password = 'hashed_password' 

服务器端本地IP访问端口设置(不是公网地址端口)
c.ServerApp.port = 8888

4. 测试jupyter

(base)$ jupyter notebook

jupyter_notebook_status.png

四、配置Nginx

1.修改/etc/nginx/nginx.conf,添加include /etc/nginx/jupyter.conf

image.png

2.修改jupyter.conf

image.png

3.重新启动nginx服务,并启动jupyter服务

后台运行
(base)$ nohup jupyter notebook --allow-root > jupyter.log 2>&1 &

#切换root用户
(base)$ sudo -i

# 重新启动nginx
$ systemctl restart nginx

ps_jupyter_notebook.png

五、通过浏览器登录jupyter-notebook

test.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
中间件 Java 应用服务中间件
Windows部署web应用服务器Jboss中间件
如何在Windows系统上部署JBoss 7.1作为Web应用服务器,包括配置环境变量、自动部署WAR包、访问JBoss控制台、设置管理员账户以及修改端口和绑定地址等操作。
69 1
|
2月前
|
JavaScript 前端开发 应用服务中间件
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
这篇文章分析了Vue项目在服务器部署后出现404错误的原因,主要是由于history路由模式下服务器缺少对单页应用的支持,并提供了通过修改nginx配置使用`try_files`指令重定向所有请求到`index.html`的解决方案。
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
|
2月前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
68 0
|
1月前
|
网络协议 网络安全
基于bind软件部署DNS服务器
关于如何使用bind软件部署DNS服务器的教程,包括DNS服务器的类型、基于bind软件的部署步骤、验证DNS服务器可用性的指导,以及如何进行DNS正向解析的实现。
26 2
基于bind软件部署DNS服务器
|
13天前
|
监控 JavaScript Java
部署应用程序到服务器
部署应用程序到服务器
30 3
|
1月前
|
存储 关系型数据库 MySQL
使用Docker快速部署Mysql服务器
本文介绍了如何使用Docker快速部署MySQL服务器,包括下载官方MySQL镜像、启动容器、设置密码、连接MySQL服务器以及注意事项。
140 18
|
6天前
|
JavaScript Linux 开发工具
如何将nodejs项目程序部署到阿里云服务器上
该文章详细描述了将Node.js项目部署到阿里云服务器的步骤,包括服务器环境配置、项目上传及使用PM2进行服务管理的过程。
|
13天前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
13 0
|
2月前
|
机器学习/深度学习 数据挖掘 开发工具
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】将版本控制系统(如 Git)与 Jupyter 笔记本结合使用是现代数据科学和机器学习团队中常见的实践。这种集成不仅有助于追踪代码变更历史,还可以促进团队间的协作和代码共享。本文将详细介绍如何在 Jupyter Notebook 中集成 Git,并提供一些实用的代码示例来帮助你开始使用。
33 1
|
2月前
|
机器学习/深度学习 Kubernetes 监控
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】当涉及大规模部署 Jupyter 笔记本服务器时,组织通常需要考虑如何有效地管理这些资源,以便支持多用户、高可用性和高性能的需求。Jupyter 集群管理不仅关乎于提供一个稳定的开发环境,还涉及到安全性、可扩展性和资源优化等问题。
29 1
下一篇
无影云桌面