ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

基于nginx搭建远程jupyterlab服务

2022-03-05 18:32:29  阅读:262  来源: 互联网

标签:jupyterlab jupyter nginx html proxy timeout NotebookApp 搭建


需求

服务器性能比较好,想在服务器方便的跑程序,所以在服务器建立jupyter,然后在本地通过连接访问到jupyter网页,进行操作;
此外想熟悉下nginx,方便后面建网站啥的。

nginx

一款比较流行的后端服务代理程序,关于其介绍不多赘述。

下载安装:

配置,可以在本地选一个文件夹放配置文件,然后通过-c制定配置文件

server {
    listen       8993;
    server_name  localhost;

    location / {
        root   /home/xxx/work/nginx/html;
        index  index.html index.htm;
    }

    ## 配置部分
    client_max_body_size 1G;
    location /jupyter {
        proxy_pass   http://127.0.0.1:11993;
        proxy_connect_timeout 3s;   
        proxy_read_timeout 5s;      
        proxy_send_timeout 3s;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

参数解析

  • listen: 这个参数大家应该都不陌生,就是监听的端口号。
  • server_name: 浏览器上输入的域名。
  • location: 表示url匹配,/表示全部匹配,还可以配置不同路由。
  • root: 表示匹配成功之后进入的目录,可以指定到自己放html的路径。
  • index: 表示默认的页面。
  • proxy_connect_timeout: nginx向代理服务发起连接,第一次握手等待回应的超时时间。
  • proxy_send_timeout: nginx将请求发送给代理服务的超时时间,应该是确认能正常连接之后向代理服务发送真正的业务请求。
  • proxy_read_timeout: 代理服务接受到真正业务请求之后,nginx等待代理服务响应具体请求的内容的超时时间。
  • client_max_body_size:最大上传文件大小,如果jupyterlab要上传文件,可以配置下,免得有上传限制。

启动服务

nginx -c nginx.conf -e nginx.log

通过-c、-e可以分别指定本地的的配置文件与报错log文件。

jupyer-lab

安装:直接通过pip 安装

配置

jupyter notebook --generate-config    # 生产配置文件,通常在home下的.jupyter文件夹里
jupyter-lab password          # 输入两次密码,会在配置文件中生存hash密码,然后在登陆界面输入密码解锁

修改/home/xxx/.jupyter/jupyter_xx_x.conf文件
c.NotebookApp.base_url = '/jupyter'    # 这个看个人如何选择,因为我在nginx中配置了local是/jupyter,所以需要在这配置baseurl
c.NotebookApp.allow_remote_access = True  # 允许远程访问
c.NotebookApp.base_url = '/jupyter'  # 设置jupyter的资源主页路径,即[jupyter主页] 
c.NotebookApp.ip = '127.0.0.1'  # 设置了访问该jupyter应用的来源机器只能是本机
c.NotebookApp.notebook_dir = '/home/xxx/jupyter' # jupyter工作目录,所有在jupyter创建的文件都会保存到这里
c.NotebookApp.open_browser = False  # 禁止启动时自动开启浏览器

运行jupyter,起一个后端进程,注意配置ip为localhost(127.0.0.1)或者0.0.0.0,配置port,和nginx中保持一致

python -m jupyterlab --ip 127.0.0.1 --port 11993 >/dev/null 2>&1 &

效果展示

标签:jupyterlab,jupyter,nginx,html,proxy,timeout,NotebookApp,搭建
来源: https://www.cnblogs.com/fugeny/p/15968937.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有