jupyterhub 安装配置
安装
- 安装 anaconda3, 从https://www.anaconda.com/distribution/下载. 国内有代理,见这里 但不如官网新.
- 安装
sudo /opt/anaconda3/bin/pip install jupyterhub
- 参考github上jupyterhub的说明, 在/opt/nodejs 目录中安装
npm install configurable-http-proxy
配置
- 以下前两个配置更新为:
xyq@xyq-linux:~/.jupyter$ sed '/^#/d;/^$/d' /etc/jupyterhub/jupyterhub_config.py
c.JupyterHub.base_url = '/jupyter'
c.Authenticator.admin_users = set(['zkk','xyq'])
xyq@xyq-linux:~/.jupyter$ cat run_hub
#!/bin/bash
export PATH=/opt/anaconda3/bin:/opt/nodejs/node_modules/.bin:$PATH
cd /home/xyq/.jupyter
jupyterhub --config=/etc/jupyterhub/jupyterhub_config.py --port=8888 --no-ssl
- jupyterhub配置文件
sed '/^#/d;/^$/d' /etc/jupyterhub/jupyterhub.py
c.JupyterHub.port=8888
c.JupyterHub.proxy_cmd = ['/opt/nodejs/bin/configurable-http-proxy',]
c.Authenticator.admin_users =['zkk','xyq']
c.JupyterHub.base_url = '/jupyter'
- 启动脚本,注意添加路径
xyq@xyq-linux ~/.jupyter $ cat run_hub
#!/bin/bash
export PATH=/opt/anaconda3/bin:/usr/lib/rstudio-server/bin/pandoc:$PATH
cd /home/xyq/.jupyter
#nohup jupyterhub --config=/etc/jupyterhub/jupyterhub.py --no-ssl > run_hub.log 2>&1 &
jupyterhub --config=/etc/jupyterhub/jupyterhub.py --no-ssl
- 开机启动配置
sudo cat /etc/systemd/system/jupyterhub.service
[Unit]
Description=Jupyterhub
After=syslog.target network.target
[Service]
User=root
ExecStart=/home/xyq/.jupyter/run_hub
[Install]
WantedBy=multi-user.target
- 启动
sudo systemctl enable jupyterhub # 开机自启动
sudo systemctl daemon-reload # 加载配置文件
sudo systemctl start jupyterhub # 启动
sudo journalctl -u jupyterhub # 查看log
-
log操作, 更多命令
sudo journalctl --since yesterday -u jupyterhub sudo journalctl --vacuum-size=1G sudo journalctl --vacuum-time=1days
nginx 配置
sed '/ *#/d;/^$/d' /etc/nginx/sites-enabled/default
upstream ipython_server {
server 127.0.0.1:8888;
}
upstream r_server {
server 127.0.0.1:800;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
#root /var/www/html;
root /opt/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location /jupyter/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://ipython_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /r/ {
rewrite ^/r/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:800;
proxy_redirect http://127.0.0.1:800/ $scheme://$host/r/;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
--- 她说, 她是仙,她不是神
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话