Nginx 开启 WebSocket 支持

配了一个 Jupyter Notebook,结果怎么都连不上终端和 Python,按照网上的方法降级了 tornado 还是不行,检查了前端 Console 才发现是 WebSocket 连接失败。

在 Nginx 配置里面修改:

location ... {
    ...
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

如果是 HTTPS 还需要修改:

ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;

Golang 代理设置

使用 go get 前执行在终端以下代码即可

export GO111MODULE=on # 这一句需要看情况使用
export GOPROXY=https://goproxy.io

也可以直接把这两行加到 bash 配置文件里。

(真的快好多)

GoDoc

安装

go install golang.org/x/tools/cmd/godoc

需要先准备好 tools 包和 net 包,可以在 github.com/golang 上下载并放到相应的位置。

使用

godoc -http=:6060

其他

第三方包显示的内容太多

找到 tools/godoc/dirtrees.go 中的 listing 函数,在 for 里面加入:

if d.Depth > minDepth+2 {
	continue
}

就只会显示到二级目录,点进去可以看到更深层的项目。

改完需要重新安装一下。

定制显示模版

通过 -templates 选项来定制模版,可以参考 tools/godoc/static,当然也可以直接在里面改模版。