jupyter编辑器是一个非常棒的web端编辑器,可以轻松的运行Python,c/c++,java程序,还有友好的语法点亮界面,但是有时我们在服务器部署jupyter,由于防火墙的原因,只有80端口开放,下面介绍如何用Nginx代理转发jupyter服务

1、部署与运行jupyter

首先你要安装运行jupyter服务,如果你还没有配置与安装,可以移步我的博客教程:在Linux服务器上搭载在线jupyter编辑器

2、jupyter加入配置

编辑配置文件:

vi ~/.jupyter/jupyter_notebook_config.py

打开或者添加下面的配置

# 注意jupyter名字可以自己随意定义,这里只是作为例子
c.NotebookApp.base_url = '/jupyter'

重新启动:

# 根据端口号查询进程
netstat -nlp | grep 8888
# kill 进程
kill -9 pid
# 后台启动
nohup jupyter notebook & 

3、Nginx配置

在Nginx配置文件中server模块下加入下面的配置:

注意在端口和ip根据你自己的需求配置

  location /jupyter {
            proxy_pass http://127.0.0.1:8888;
            client_max_body_size 0;
            proxy_set_header Host $host;
            proxy_set_header X-Real-Scheme $scheme;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_read_timeout 120s;
            # websockt
            proxy_http_version 1.1;
            proxy_set_header Upgrade "websocket";
            proxy_set_header Connection "Upgrade";
            #log file
            access_log   logs/access.jupyter.log;
            error_log    logs/access.jupyter.log;
        }

重新加载Nginx配置:

 /usr/local/nginx/sbin/nginx -s reload

4、测试

现在可以在你的浏览器中访问:http://ip/jupyter

效果:

0
Posted in 系统, 问题解决

Leave a Comment:

电子邮件地址不会被公开。