一、准备工作
1.准备一台云服务器
我选择的是阿里云ECS,配置:2核2G,SSD40G,3M固定带宽(今年销冠)。
服务器的操作系统选用ubuntu 22.04。
2.安装nginx,用于反向代理jupyter-notebook服务
3.放通jupyter访问端口
二、安装包管理器及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)"
进入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
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() # 退出当前环境
3.配置nb参数
生成nb配置文件,并通过VIM对配置文件进行修改
(base)$ jupyter notebook --generate-config
进入配置目录并找到配置文件
(base)$ cd ~/.jupyter
修改配置文件
(base)$ vim jupyter_notebook_config.py
注释符号#删除,并重新输入相应参数,并通过: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
四、配置Nginx
1.修改/etc/nginx/nginx.conf,添加include /etc/nginx/jupyter.conf
2.修改jupyter.conf
3.重新启动nginx服务,并启动jupyter服务
后台运行
(base)$ nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
#切换root用户
(base)$ sudo -i
# 重新启动nginx
$ systemctl restart nginx