阿里云国际站代理商:如何利用ECS部署Jupyter Notebook?

简介:TG@luotuoemo

本文由阿里云代理商【聚搜云】撰写

1. 准备工作

  • 选择ECS实例:选择合适的ECS实例,建议配置为2核2G,SSD40G,3M固定带宽。
  • 操作系统:选择Ubuntu 22.04或其他适合的Linux发行版。

2. 安装Python环境

  • 安装Anaconda

    
    按照提示完成安装过程,接受许可协议,选择安装路径等。
    
    
  • 配置环境变量

    bash

    echo 'export PATH="/root/anaconda3/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    

3. 配置Jupyter Notebook

  • 生成配置文件

    bash

    jupyter notebook --generate-config
    
  • 设置访问密码

    bash

    jupyter notebook password
    
  • 生成哈希密码

    bash

    python
    from notebook.auth import passwd
    passwd()
    

    记录生成的哈希密码。

  • 修改配置文件

    bash

    vim ~/.jupyter/jupyter_notebook_config.py
    

    在文件末尾添加以下内容:

    Python

    c.NotebookApp.password = 'sha1:ff1daf1d0042:836de0da04694213097b77ea4b354b73b6856f7d'  # 替换为生成的哈希密码
    c.NotebookApp.port = 9999  # 指定Jupyter Notebook运行的端口
    c.NotebookApp.allow_remote_access = True  # 允许远程访问
    c.NotebookApp.ip = '*'  # 允许所有IP访问
    c.NotebookApp.open_browser = False  # 禁止自动打开浏览器
    

4. 配置Nginx反向代理(可选)

  • 安装Nginx

    bash

    sudo apt-get update
    sudo apt-get install nginx
    
  • 配置Nginx

    bash

    sudo vim /etc/nginx/sites-available/jupyter
    

    添加以下内容:

    nginx

    server {
        listen 80;
        server_name your_domain_or_ip;
    
        location / {
            proxy_pass http://localhost:9999;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  • 启用配置

    bash

    sudo ln -s /etc/nginx/sites-available/jupyter /etc/nginx/sites-enabled/
    sudo systemctl restart nginx
    

5. 启动Jupyter Notebook

  • 后台运行Jupyter Notebook

    bash

    nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
    

6. 通过浏览器访问Jupyter Notebook

  • 访问地址:在浏览器中输入网页,使用之前设置的密码登录。

注意事项

  • 安全组配置:确保在阿里云控制台中放行Jupyter Notebook的访问端口(如9999)。
  • 数据备份:定期备份Jupyter Notebook中的重要数据和配置文件。