基于centos安装jupyterlab设置外网访问
安装¶
默认已经装好了python以及pip
生成密码¶
如果不想设置密码可以跳过此步
设置密码成功之后会返回加密后的 sha1 字符串
生成配置文件¶
默认生成了 /root/.jupyter/jupyter_notebook_config.py
修改配置文件¶
在最底部新增如下配置
# 将ip设置为*,意味允许任何IP访问
c.NotebookApp.ip = '*'
# 这里的密码就是上边我们生成的那一串
c.NotebookApp.password = u'sha1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
# 服务器上并没有浏览器可以供Jupyter打开
c.NotebookApp.open_browser = False
# 监听端口设置为8888或其他自己喜欢的端口
c.NotebookApp.port = 8848
# 我们可以修改jupyter的工作目录,也可以保持原样不变,如果修改的话,要保证这一目录已存在
c.MappingKernelManager.root_dir = '/root/jupyter_codes'
# 允许远程访问
c.NotebookApp.allow_remote_access = True
# 也不知道有什么用,看别人设置了 咱也设置吧
c.PAMAuthenticator.encoding = 'utf8'
c.NotebookApp.notebook_dir = '/root/jupyter_codes'
c.NotebookApp.port_retries = 50
设置Nginx反向代理¶
nginx配置文件如下¶
server {
server_name run.152.69.196.199 47.103.193.253; # 服务器域名和 IP 地址
listen 80;
location / {
proxy_pass http://127.0.0.1:8848/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# jupyter 使用了 websocket 协议,所以需要配置支持 websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 120s;
proxy_next_upstream error;
proxy_redirect off;
}
}
设置启动文件¶
安装node和npm¶
本屌用了宝塔应用程序里面的一键安装
支持TypeScript¶
npm install -g tslab
tslab install --version
tslab install [--python=python3]
tslab install
jupyter kernelspec list
# jslab /usr/local/google/home/yunabe/.local/share/jupyter/kernels/jslab
# tslab /usr/local/google/home/yunabe/.local/share/jupyter/kernels/tslab
设置Py语法提示¶
- 控制台 ps aux | grep jupyter 查看pid 关掉juypyter相关进程
pip install jupyter-lsp
sudo yum install nodejs
- 运行
jupyter labextension install @krassowski/jupyterlab-lsp
大概持续几分钟(中间服务器其他连接会异常) pip install python-language-server[all]
- 启动jupyter
TypeScript代码提示(装了还不如本身自带的)¶
具体比较复杂,这里只做参考 https://jupyterlab-lsp.readthedocs.io/en/latest/Configuring.html#autodetect
- 安装相应的js/ts代码提示服务器
npm install --save-dev javascript-typescript-langserver