创建jupyter notebook到阿里云服务器

这里使用root表示在root权限下的操作,user表示在用户目录下的操作;操作系统是Ubuntu,使用宝塔管理网站

1-(root)安装Python

apt install python3 python3-pip python3-venv -y  

2-创建虚拟环境并安装Jupyter

2.1 (root)创建user(推荐)

# 创建jupyter用户
useradd -m jupyter
su - jupyter  # 切换到jupyter用户

2.2 (user)创建虚拟环境

# 创建虚拟环境目录
mkdir ~/jupyter_env
cd ~/jupyter_env

# 创建虚拟环境
python3 -m venv jupyter_venv

# 激活虚拟环境
source jupyter_venv/bin/activate

2.3 (user)安装Jupyter

# 升级pip
pip install --upgrade pip

# 安装Jupyter Lab(推荐)和Jupyter Notebook
pip install jupyterlab notebook

# 安装常用科学计算包(可选)
pip install numpy pandas matplotlib seaborn scikit-learn

3-配置Jupyter

3.1 (user)生成配置文件

# 生成Jupyter配置文件
jupyter lab --generate-config

3.2 (user)设置登录密码

# 生成密码哈希
python3 -c "from jupyter_server.auth import passwd; print(passwd())"
# 输入你想设置的密码,记住生成的哈希值

3.3 (user)编辑配置文件

常用快捷键:

Ctrl + O: 保存文件 (Write Out)

Ctrl + X: 退出编辑器 (Exit)

Ctrl + G: 显示帮助 (Help)

Ctrl + K: 剪切当前行 (Cut)

Ctrl + U: 粘贴 (Paste)

Ctrl + W: 搜索 (Where Is)

# 编辑配置文件
nano ~/.jupyter/jupyter_lab_config.py

在配置文件中添加以下内容:

# 允许所有IP访问
c.ServerApp.ip = '0.0.0.0'

# 设置端口
c.ServerApp.port = 8888

# 不自动打开浏览器
c.ServerApp.open_browser = False

# 设置密码(替换为你刚才生成的哈希值)
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$你的哈希值'

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

# 设置根目录
c.ServerApp.root_dir = '/home/jupyter/notebooks'

3.4 创建工作目录

mkdir ~/notebooks

4-配置防火墙和安全组

4.1 (root)
# Ubuntu - ufw
ufw allow 8888
4.2 阿里云防火墙

添加规则TCP,放行8888端口。

5- 在宝塔中配置反向代理

5.1 在宝塔面板添加站点
  • 「网站」→「添加站点」
  • 域名:yangcaps.space
  • 选择「纯静态」
5.2 配置反向代理
  • 点击域名 → 「反向代理」
  • 添加反向代理:
    • 代理名称:jupyter
    • 目标URL:http://127.0.0.1:8888
    • 发送域名:$host
    • 点击「提交」

6-启动Jupyter并测试

6.1 (root)启动Jupyter
# 确保在虚拟环境中
source ~/jupyter_env/jupyter_venv/bin/activate

# 启动Jupyter Lab
nohup jupyter lab > ~/jupyter.log 2>&1 &

# 查看日志
tail -f ~/jupyter.log
6.2 (root)检测安装成功的命令
# 检查Jupyter进程
ps aux | grep jupyter

# 检查端口是否监听
netstat -tlnp | grep 8888
# 或者
ss -tlnp | grep 8888

# 测试本地访问
curl http://localhost:8888

# 检查虚拟环境中的包
pip list | grep jupyter

7-浏览器访问测试

7.1 访问域名
http://你的域名  # HTTP访问
# 或者
https://你的域名  # 如果配置了SSL
7.2 应该看到Jupyter登录页面
  • 输入你设置的密码

  • 成功登录后可以创建新的notebook

8-创建系统服务(可选)(jupyter服务自启动,无需每次终端启动)

8.1 (root)创建systemd服务文件
sudo nano /etc/systemd/system/jupyter.service
8.2 (root)添加服务配置
[Unit]
Description=Jupyter Lab
After=network.target

[Service]
Type=simple
User=jupyter
WorkingDirectory=/home/jupyter
ExecStart=/home/jupyter/jupyter_env/jupyter_venv/bin/jupyter lab
Restart=always

[Install]
WantedBy=multi-user.target
8.3 启用服务
sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyter

9-管理环境

(root)

# 停止jupyter
pkill -f jupyter

# 删除整个虚拟环境目录
rm -rf ~/jupyter_env
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐