0%

编码

1
2
3
4
5
import base64

bytes = b"wudinaonao"
base64.b64encode(bytes)

输出

1
'd3VkaW5hb25hbw=='

解码

1
2
3
4
5
6
import base64

bytes = b"wudinaonao"
encode = base64.b64encode(bytes)
base64.b64decode(encode, "utf-8")

输出

1
'wudinaonao'

20200603160434

前言

在ESXI下扩容磁盘是非常简单的。例如,我制作了一个通用Ubuntu镜像。

20200603160729

当我像创建一个基于Ubuntu的虚拟机时,我直接导入ESXI即可,不用重新安装一个,非常便捷。

但是我制作的这个镜像文件设置磁盘大小只有16G,在长期使用后可能磁盘空间就不够了,这个时候我们需要对磁盘进行扩容。

你可能会问为什么制作镜像的时候不设置个大点的硬盘空间?因为当ESXI进行硬盘扩容的时候,空间只能改大不能改小。

扩容

我们以Database这个虚拟机为例

20200603161130

先使虚拟机处于关闭状态。然后点击编辑

20200603161200

我们把硬盘1改成64GB,保存

打开虚拟机。

登录虚拟机

1
df -h

20200603161352

可以看到空间并没有增加。我们需要把扩容的空间无损增加到根目录。以下操作有风险,建议创建快照

1
2
3
4
5
6
7
8
fdisk /dev/sda
d
2
n
回车(默认)
回车(默认)
y
wq

注意,我的根目录挂载在/dev/sda2,所以删除的分区号是2

20200603161840

原理就是把之间个根目录挂载的分区删除了,然后重建一个扩容的分区。

然后格式化磁盘

1
resize2fs /dev/sda2

20200603162037

查看一下结果。

20200603162100

可以看到已经扩容成功了。

如果你像我一样,把lan口关闭了导致无法通过web进入后台。那么你可以进入通过SSH来重新启用这个接口。

1
2
cd /etc/config
vi network

找到你的lan口
更改

1
option auto '0'

1
option auto '1'

然后

1
service network restart

这样lan口便重新启用,可以登录后台了。

确定版本

确定源服务器和目标服务器的版本。不然恢复备份时候会出现版本不一致的问题。

20200522224718

基于Docker的Gitlab,可以先更新一下镜像。再进行备份。或者目标服务器拉取指定版本的镜像。

备份

进入镜像,执行命令生成备份

1
gitlab-rake gitlab:backup:create RAILS_ENV=production 

20200522225121

备份完成。注意!gitlab.rb 这个配置文件需要手动复制到目标服务器。

迁移

找到备份的配置文件。在你挂载的/data/backups目录下

例如我的位置

20200522225742

拷贝到目标服务器的相同目录下,例如

20200522230003

进入容器执行

1
gitlab-rake gitlab:backup:restore RAILS_ENV=production   BACKUP=1590159208_2020_05_22_13.0.0

注意BACKUP的时间标记。为你需要恢复的备份。

复制gitlab.rb这个文件到目标服务器。

重启Gitlab

1
2
gitlab-ctl reconfigure
gitlab-ctl restart

迁移完成。

20200522200022

查看你的网卡名称

1
ifconfig

20200522200141

例如我要更改 ens160 这个网卡

1
cd /etc/netplan

找到文件,名字可能不一样

20200522200353

1
nano 00-installer-config.yaml

更改配置

1
2
3
4
5
6
7
8
9
10
11
# This is the network config written by 'subiquity'n
network:
ethernets:
ens160:
dhcp4: false
addresses: [192.168.1.6/24]
optional: true
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1,8.8.8.8]
version: 2

配置

  • ip地址:192.168.1.6
  • 子网掩码: 255.255.255.0
  • 网关:192.168.1.1
  • DNS服务器:192.168.1.1, 8.8.8.8

应用更改

1
netplan apply

20200507193511

备份原始源

1
2
3
cd /etc/apt
cp sources.list sources.list.bak
rm sources.list

更改源

1
nano sources.list

然后填写以下内容。

清华源

ubuntu 20.04(focal) 配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

阿里源

ubuntu 20.04(focal) 配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
deb https://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse

其他版本根据版本号替换即可

1
deb https://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse

focal即版本号

更新

1
apt update && apt upgrade -y

20200507194302

速度比官方源快很多。

注意

ubuntu-ports是Arm64,Armhf 等平台的 Ubuntu 软件仓库

20200506000117

腾讯企业邮箱配置如下,其他邮箱同样适用。

找到配置

1
2
3
4
5
6
7
8
9
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxxxxxxxxxxxxxxx"
gitlab_rails['smtp_domain'] = "wudinaonao.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

在找到配置

1
2
3
4
# gitlab 发件邮箱
gitlab_rails['gitlab_email_from'] = '[email protected]'
# 默认标题
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'

重载gitlab配置

1
gitlab-ctl reconfigure

登录到你搭建的Gitlab发一封重置密码的邮件试试

20200506000733

成功

20200506000803

阿里云企业邮箱配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourself.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "yourself user name"
gitlab_rails['smtp_password'] = "yourself password"
gitlab_rails['smtp_domain'] = "yourself hostname"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true

###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'**
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html
gitlab_rails['smtp_openssl_verify_mode'] = 'none'

更多邮箱配置参见官方

https://docs.gitlab.com/omnibus/settings/smtp.html

参考链接

https://docs.gitlab.com/omnibus/settings/smtp.html

https://gitlab.com/gitlab-org/gitlab-foss/-/issues/446

用Docker搭建饥荒服务器

20200503210534

安装

1
docker pull jamesits/dst-server

20200503210917

拉取到的镜像

20200503213045

如果没有安装docker-compose建议安装,方便书写配置文件。

1
apt install docker-compose

新建一个目录用于存放数据文件

1
2
mkdir /${HOME}/dst
cd /${HOME}/dst

打开本机饥荒

点账号

20200503213529

查看我的游戏

20200503213654

选择饥荒

20200503214024

添加一个新服务器,起一个用于识别的名字

20200503214359

复制那串key

20200503214424

回到服务器

创建docker-compose.yml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat > docker-compose.yaml <<"EOF"
version: '3.5'
services:
dst-server:
environment:
- DST_CLUSTER_TOKEN=这里粘贴刚才复制的那串key
image: jamesits/dst-server:latest
restart: "on-failure:5"
ports:
- "10999-11000:10999-11000/udp"
- "12346-12347:12346-12347/udp"
volumes:
- ${HOME}/.klei/DoNotStarveTogether:/data
stop_grace_period: 6m
EOF

创建并运行容器

1
docker-compose up

看到这个

20200503215417

ctrl+c退出容器编辑配置文件

配置

1
2
3
cd
cd .klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1
nano cluster.ini

简单配置下,这里基本是关于游戏模式和服务器的设置。你也可以在本地新建一个房间,然后把配置文件拿过来替换掉服务器上的配置。

20200503220023

后台运行

1
2
cd
docker-compose up -d

如果你的主机提供商有安全规则的话,你需要放行这样四个端口,UDP协议。

1
2
10999-11000
12346-12347

20200503220519

开始玩

浏览游戏

20200503220813

等待搜索完服务器列表

20200503221138

过滤器输入我们刚才配置的服务器名字 NaonaoTencenCloud

20200503220848

加入

20200503222950

创建角色

20200503223240

可以愉快的玩耍了

参考链接

https://hub.docker.com/r/jamesits/dst-server