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,当然也可以直接在里面改模版。

GO 使用私有 Gitlab

编辑 /usr/local/go/src/cmd/go/internal/get/vcs.go 文件,在 vcsPaths 中添加配置项,以下是一个例子:

// lightning34.cn
{
	prefix: "lightning34.cn/",
	regexp: lazyregexp.New(`^(?P<root>lightning34\.cn/(?P<p>[A-Za-z0-9_.\-]+/[A-Za-z0-9_.\-]+))(/[\p{L}0-9_.\-]+)*$`),
	vcs:    "git",
	repo:   "git@xxx:{p}.git",
	ping:   false,
},

然后重新编译一下 Go 即可:在 /usr/local/go/src/cmd/go 下运行 go install

Docker 使用笔记

docker 真是个好东西

拉取镜像

docker pull image

建立并启动容器

docker run [option] image

参数有:

  • –name 容器名称
  • -p 主机端口:容器端口

// 参数没必要记太多,可以用 Portainer 来管理😊

关闭、重启、启动容器

docker stop/restart/start name

进入容器

docker exec -it name /bin/bash

容器存为镜像

docker commit name image

保存、读取镜像

docker save -o filename image
docker load --input filename

推送镜像

可以看阿里云的操作指南😂