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

简介: 在阿里云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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
668 5
|
2月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
190 17
|
3月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
499 13
|
3月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
332 0
监控 安全 Linux
177 0
|
4月前
|
监控 Java Linux
Apache NiFi项目的编译与部署于CentOS服务器
总而言之,Apache NiFi的编译和部署虽然涉及多个步骤,但这些操作步骤简明扼要,即使是不太熟悉Java或Maven的用户也能跟随指南完成。通过遵循上述步骤,您将能够在CentOS服务器上成功部署Apache NiFi,为您的数据流处理任务建立一个功能强大的平台。
368 16
|
4月前
|
资源调度 负载均衡 JavaScript
使用PM2工具部署Vue.js应用于服务器
以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。
208 0
|
4月前
|
运维 数据可视化 数据库
一小时搞定服务器软件部署:资深工程师实测方案
本文分享了一位运维工程师在短时间内将30个不同软件部署到新服务器上的实战经验。面对全新 Rocky Linux 系统,传统手工部署方式效率低下且容易出错。作者尝试多种自动化方案后,最终选择使用自动化部署工具,通过其内置的 Docker Compose 模板和可视化界面,实现快速、批量部署,大幅提升效率,30个应用仅用约1小时完成,显著节省时间和人力成本。