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

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: 在阿里云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

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
弹性计算 监控 负载均衡
|
5天前
|
并行计算 前端开发 异构计算
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
|
8天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
10天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
11天前
|
机器学习/深度学习 弹性计算 人工智能
在阿里云ECS上一键部署DeepSeek-R1
Open WebUI 和 Ollama 的联合,通过集成 DeepSeek-R1 的强大功能,赋予每一位用户使用尖端 AI 技术的能力,使得复杂的 AI 技术不再是遥不可及的梦想。无论是研究人员、开发者,还是企业用户,您都能从这一创新中获得新的灵感和增长点。本文介绍通过计算巢一键部署和使用DeepSeek-R1。
在阿里云ECS上一键部署DeepSeek-R1
|
26天前
|
安全 前端开发 Go
轻松部署翼龙面板社区版:您的游戏服务器管理新体验
翼龙面板(Pterodactyl)社区版正是为此而生,它通过强大的开源技术栈(PHP、React 和 Go)和可靠的安全设计,让游戏服务器管理变得简单而高效。本文将带您通过阿里云计算巢快速部署翼龙面板社区版,尽享流畅的管理体验。
轻松部署翼龙面板社区版:您的游戏服务器管理新体验
|
29天前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
233 17
Spring Boot 两种部署到服务器的方式
|
4月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
157 1
|
7天前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
140 7
|
4月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
180 60