0%

准备文件

安装过程

  1. 安装Erlang
  2. Erlangbin路径配置入系统的PATH环境变量
  3. 解压RabbitMQ,进入sbin文件夹
  4. 启用管理界面,rabbitmq-plugins enable rabbitmq_management
  5. 点击sbin路径下面的xxx-server.bat文件夹
  6. 访问http://localhost:15672,用户名:guest,密码:guest进行登录

新加VHost

添加Vhost

直接点击用户即可分片VHost给用户

添加用户

添加用户

背景

突然忘记了自己当初按照docker的提示搞了root-less模式,从而导致全局的位于/etc/docker/daemon.json配置始终不生效,在花费了很久很久以后突然想到这个问题。现在记录一下。

关键词

  1. insecure-registries配置失败、不生效。
  2. 报错http: server gave HTTP response to HTTPS client(也是因为不生效导致的)

配置

当配置了root-less模式以后,配置位置移动到登录用户的.config/docker文件夹,因此将位于/etc/docker/daemon.json的配置文件复制一份即可解决问题。新文件位于~/.config/docker/daemon.json

直接上代码

1
2
3
4
5
6
7
8
9
public string ReadEmbeddedFile(string fileName)
{
using (var stream = this.GetType().Assembly.GetManifestResourceStream(fileName))
{
byte[] b = new byte[stream.Length];
stream.Read(b, 0, b.Length);
return Encoding.UTF8.GetString(b);
}
}

会有疑问,文件长啥样子,怎么得出来的,可以通过this.GetType().Assembly.GetManifestResourceNames()来获取当前程序集下面的嵌入式文件。多提一句嵌入式文件可以跟Nuget包一起生成。

起因

今天突发奇想,丰富一下自己的Swagger页面,给他新增上按钮,以及生成Interfaceangular servicetemplate

过程

新加一些按钮其实并不复杂,想着用浏览器的油猴插件就可以搞定对页面附加JS的效果。

本文完。

一开始想着自己用确实可以这样,但是如果让每个团队成员去配置也有些麻烦,所以我们可以直接在项目里面集成我们自己写的JS,我也百度了很久,发现似乎没有这样集成的文章。

自定义JS集成进Swagger页面

1. 编写JS

这一步也没有什么难度,可以去一些油猴可以用的脚本网站上去复制这些代码。

2. 让Swagger加载我们自定义的JS

一开始尝试,在Service.AddSwaggerGen的时候加入自己实现对的IDocumentFilter接口,通过以下方式加入:

1
2
3
4
5
builder.Services.AddSwaggerGen(c =>
{
//后来发现 c.IndexStream 这个可以直接加载主页的Index文件流。
c.DocumentFilter<MyJsFilter>();//MyJsFilter实现IDocumentFilter
})

在里面修改东西,仅可被渲染,无法加载js

查阅源代码以后,发现在SwaggerUIMiddleware类中使用嵌入式文件来生成默认的HTML文件,但是会给嵌入式文件进行传参。

这些传参的地方直接渲染在页面上没有做处理,所以我的思路是可以借助这几个配置项进行渲染JS。

通过检查SwaggerUIOptions发现只需要在配置SwaggerUI时传入JS字符串即可将原先的油猴插件代码嵌入Swagger并渲染执行。

1
2
3
4
5
app.UseSwaggerUI(c =>
{
c.HeadContent = "<script>alert('hello')</script>";
//界面上不会显示出这个字,会作为JS执行
});

备注:可以通过这样的方法来引入JS丰富Swagger的功能,并且无需对SwaggerUI改动。

重要:
后来发现通过c.IndexStream可以直接加载Index页面的文件流。

前言

为了在本地部署项目,k3sk8s可以使用相似的资源清单配置文件。执行方式不使用自带的容器执行程序使用docker作为底层的执行。

安装

1
2
3
4
#使用docker,实际配置内容在/etc/systemd/system/k3s.service,里面有个ExecStart里面配置为docker即可使用docker。也可以直接在安装的时候通过环境变量的方式设置。
export INSTALL_K3S_EXEC="--docker"
#定义安装程序使用的源 Mirror
export INSTALL_K3S_MIRROR=cn

安装k3s

1
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

加入Work节点

1
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -

mynodetoken位于:/var/lib/rancher/k3s/server/node-token
https://myserver:6443 为服务器地址端口均为6443,需要保证端口通畅

备注

如果启动不起来,需要将docker的配置文件(/etc/docker/daemon.json)

1
2
3
4
{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
//将docker驱动设置为cgroupfs
}

K1043a33bc36fdeaea1ab374da4e9747a28d53b77452e61a134ba2b0a7fde9ef22e::server:885bf488d1d72400ed8101df3db1f0f5