本文旨在利用宝塔面板搭建一个可以通过域名访问Jupyter Notebook,可以随时调用和访问。
首先去anaconda的官方下载适合的安装包,并且用宝塔的文件管理上传到root文件夹
https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
在终端执行命令bash Anaconda3-2023.03-Linux-x86_64.sh
系统默认在/root/anaconda3安装,一直按回车,要输入yes就输入
安装好之后,用宝塔的文件管理进入/etc/profile,打开,在文件的最下方添加PATH=/root/anaconda3/bin:$PATH
添加后保存退出
输入python,出现带有anaconda的字眼说明添加成功
接下来,用conda构建一个虚拟环境,这里把虚拟环境命名为jptconda create -n jpt python=3.8
conda activate jpt 进入虚拟环境
conda deactivate 退出虚拟环境
接下来conda activate jpt在虚拟环境下安装Jupyterpip install jupyter
然后我们需要设置一下Jupyter Notebook的密码
进入python,在python下输入from notebook.auth import passwd
passwd()
from jupyter_server.auth import passwd;
passwd()
输入两次密码来设置密码,牢记产生的私钥,并Ctrl + D退出python
输入jupyter notebook --generate-config
将会在/root/.jupyter/文件夹生成一个jupyter_notebook_config.py文件,在宝塔中打开该文件,修改以下参数
c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.password = u'argon2:xxxxxxxxxxxxx' c.NotebookApp.open_browser = False c.NotebookApp.port = 6666 c.NotebookApp.allow_remote_access = True c.NotebookApp.notebook_dir = '/root/anaconda3/project/'
0.0.0.0代表本机,如果外链可以改ip,
xxxx代表刚才生成的密钥,如果是sha加密,前面的argon2也要改掉,
open_browser代表是否启动时打开浏览器,
6666是端口,记得在阿里云和宝塔后台开启
allow_remote_access代表是否允许远程访问,我们的目的就是远程访问
notebook_dir代表进入jupyter的默认路径,如不存在需要先新建
在宝塔新建静态网站,如需要SSL可以先布设SSL。
在网站设置中选择反向代理,使用之前的6666端口,设置反向代理
前台启动jupyterjupyter notebook --allow-root
占用前台,需要Ctrl + C关闭,但是因为后台进程直接显示可以方便调试,前面已经设置了反代,可以直接使用域名访问进行测试
后台启动jupyternohup jupyter notebook --allow-root &
后台启动后,即使关闭窗口,依然有效,需要手动关闭,关闭时我们需要知道jupyter占用的进程号lsof -i:6666
查询所有后台占用6666端口的进程号,使用kill x 来杀掉编号为x的进程
修改进入服务器默认环境,因为装了conda所以默认是base环境,我们改回root环境conda config --set auto_activate_base false
代码补全插件安装,在虚拟环境下运行下面的语句pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
并且在nbextensions里打开hintland的插件
如果有需要,可以使用宝塔面板的进程守护管理器,保护该进程不被杀掉
原创文章,作者:熊阿初,如若转载,请注明出处:https://www.guofc.com/1058.html