ubuntu搭建jupyter_notebook服务器

环境:ubuntu 22.04

目录

环境:ubuntu 22.04

一、创建一个anaconda用户

创建用户condaUser

为用户condaUser设置密码

开放opt文件夹的权限

登录condaUser用户

二、安装anaconda

下载anaconda

安装anaconda

三、添加环境变量

四、anaconda换源

这里使用清华源

查看源配置

五、anaconda创建虚拟环境

创建虚拟环境

切换到指定源

六、安装jupyter notebook

七、jupyter notebook配置

创建工作目录

生成访问密码

生成配置文件

编辑生成的配置文件

八、安装nginx

安装nginx

修改nginx配置文件

九、启动服务器

启动nginx

后台启动jupyter notebook

十、访问jupyter notebook服务器


一、创建一个anaconda用户

这步没有也无所谓,我只是不想把anaconda安装在/root目录里

创建用户condaUser

sudo useradd -r -m -s /bin/bash condaUser

为用户condaUser设置密码

sudo passwd

开放opt文件夹的权限

sudo chmod 777 /opt

登录condaUser用户

二、安装anaconda

下载anaconda

先在清华大学开源软件镜像站选一款心怡的安装包

清华大学开源软件镜像站

使用wget命令下载这个安装包,如:

wget --user-agent="Mozilla" https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

安装anaconda

下载后的文件在/home/condaUser目录下,我们作为condaUser用户,这是我们的家目录。在这个目录下执行:

bash Anaconda3-2023.09-0-Linux-x86_64.sh

输入q退出协议,这里不用按enter一行一行看,要是一不小心按多了,就会退出安装,又得再看一遍

输入yes开始安装

三、添加环境变量

编辑配置文件.bashrc

vim ~/.bashrc

点击i进入编辑模式,在最后一行添加:

export PATH=$PATH:/home/condaUser/anaconda3/bin

点击esc退出编辑模式

输入:wq回车,进行保存

重新加载配置文件

source ~/.bashrc

这时可以使用conda命令

conda -V

conda命令测试

四、anaconda换源

这里使用清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --set show_channel_urls yes

查看源配置

conda config --show channels

conda清华源

五、anaconda创建虚拟环境

创建虚拟环境

实例中创建一个叫ai的虚拟环境,并指定使用python版本3.12.3

conda create -n ai python=3.12.3

切换到指定源

source activate ai

也可以在~/.bashrc末尾添加

alias conda_ai='source activate ai'

后重新加载配置文件,即可使用conda_ai切换到虚拟环境ai

六、安装jupyter notebook

先进入我们需要的虚拟环境,如进入虚拟环境ai

conda install jupyter notebook

不知道为什么,这样子安装后的jupyter notebook运行的时候会出现websocket连接失败的问题,需要再执行

pip install -U jupyter

七、jupyter notebook配置

创建工作目录

mkdir /opt/jupyter_notebook_workspace

生成访问密码

在命令行中输入python 回车 进入python命令行界面

执行如下:

from jupyter_server.auth import passwd;
passwd(algorithm='sha1')

重复两次密码得到密码的sha1

生成配置文件

jupyter notebook--generate-config

编辑生成的配置文件

vim /home/condaUser/.jupyter/jupyter_notebook_config.py

在最后一行加入

c.ServerApp.ip = '0.0.0.0'
c.ServerApp.password = '' # 这里输入之前得到的sha1
c.ServerApp.open_browser = False
c.ServerApp.port = 8888 # 如果你不希望使用nginx转发,也可以直接配置成80
c.ServerApp.allow_remote_access = True
c.NotebookApp.notebook_dir = r'/opt/jupyter_notebook_workspace'

:wq保存退出

八、安装nginx

这里先切换回root用户

安装nginx

apt install -y nginx

修改nginx配置文件

vim /etc/nginx/nginx.conf

在http块中加入

server {listen 80;server_name  域名或ip;client_max_body_size 10G;location / {proxy_pass              http://127.0.0.1:8888;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_redirect off;}
}

:wq 保存退出

九、启动服务器

启动nginx

没装不用启动

nginx

后台启动jupyter notebook

jupyter notebook &

十、访问jupyter notebook服务器

在浏览器输入你的域名或ip

在登录页面输入你的密码就可以看到你的jupyter notebook了

jupyter_notebook页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660949.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django后台项目开发实战二

我们的需求是开发职位管理系统 三个功能: 管理员发布职位候选人能浏览职位用户能投递职位 第二阶段 创建应用 jobs,实现职位数据的建模 python manage.py startapp jobs 然后再 setting .py 注册应用,只需添加应用名称到最后一行 INST…

Maven入门:1.简介与环境搭建

一.简介与环境搭建 1.Maven:用于自动化构建项目(按照企业主流模板构建完善的项目结构)和管理项目依赖(依赖就是项目的jar包,通过配置的方式进行添加和管理,自动下载和导入)的工具。即更加方便构…

LangChain入门2 RAG详解

RAG概述 一个典型的RAG应用程序,它有两个主要组件: 索引:从源中获取数据并对其进行索引的管道。这通常在脱机情况下发生。检索和生成:在运行时接受用户查询,并从索引中检索相关数据,然后将其传递给模型。 从原始数据…

分享一份物联网 SAAS 平台架构设计

一、架构图**** 二、Nginx**** 用于做服务的反向代理。 三、网关**** PaaS平台所有服务统一入口,包含token鉴权功能。 四、开放平台**** 对第三方平台开放的服务入口。 五、MQTT**** MQTT用于设备消息通信、内部服务消息通信。 六、Netty**** Socket通信设…

标准汽车试验铁地板的技术要求

在现代科技化发展的工作中,试验平台被广泛使用。铸铁试验平台(试验铁地板)又叫试验工作平台,听名字大家也不难想象出来这是一款带有箱式体的台面,这是一种有长方形或者圆形又或者正方形的试验工作台。 铸铁试验平台&a…

spring boot运行过程中动态加载Controller

1.被加载的jar代码 package com.dl;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(A…

基于FPGA的数字信号处理(1)--什么是无符号数?什么是有符号数?

进制 虽然在日常生活中,我们已经习惯了使用10进制数字,但在由数字电路构成的数字世界中,2进制才是效率更高的选择。 10进制与2进制 10进制(decimal)计数法(一般也叫阿拉伯计数法)是在日常生活…

DS高阶:图论基础知识

一、图的基本概念及相关名词解释 1.1 图的基本概念 图是比线性表和树更为复杂且抽象的结,和以往所学结构不同的是图是一种表示型的结构,也就是说他更关注的是元素与元素之间的关系。下面进入正题。 图是由顶点集合及顶点间的关系组成的一种数据结构&…

bite阶段性测试_数据结构

解决问题之前我们要了解什么是度,特别是二叉树中的度,和图论中的度的定义是不同的 什么是度: 在图论中,一个节点(或称为顶点)的“度”是指与该节点直接相连的边的数量。度是用来衡量一个节点与其他节点连接…

Q1营收稳健增长,云从科技如何在“百模大战”的险中求稳?

自从迈入大模型时代,AI行业可谓“一天一个样”。越来越多的企业涌现,舆论热议从未断绝。 但就像所有技术必须经历的那些考验,在现实尺度下,AI顺利走进商业化世界,仍然是少部分玩家掌握的稀缺能力。个中原因不尽相同&a…

【C++】学习笔记——string_2

文章目录 六、string类2. 反向迭代器const迭代器 string类对象的容量操作(补)size() 3. string类的元素访问4. string类的修改 未完待续 结合文档食用~ 六、string类 2. 反向迭代器 一般来说,迭代器都是正向的遍历容器,虽然可以…

MySQL与金蝶云星空对接集成执行查询语句-v2打通销售退货新增V1

MySQL与金蝶云星空对接集成执行查询语句-v2打通销售退货新增V1 数据源系统:MySQL mysql是一个关系数据库管理系统(RDBMS),所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数…