• 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";
          }
    }
    
  • 相关阅读:
    【android tools】内存、网络、界面性能响应优化的工具
    mysql命令(数据库备份与恢复)
    mysql中一些简单但是新手容易犯的错误
    Mysql bench执行sql语句批量操作数据所遇到的问题
    Excel “此单元格中的数字为文本格式,或者其前面有撇号” 设成数字格式
    VC程序异常中断的原因
    vs dump调试
    winsock.h与winsock2.h出现重定义或不同的链接
    QT中QString与string的转化,解决中文乱码问题
    线程中CreateEvent和SetEvent及WaitForSingleObject的用法
  • 原文地址:https://www.cnblogs.com/bregman/p/5744109.html
Copyright © 2020-2023  润新知