前言
这是很久以前帮mer做的一个主播歌单,但是一直没有想过把它推广出去,昨天晚上refactor了一下,打算稍微推广一下。但是也就是refactor了,所以整个过程的假设很简单,唯一困难的估计就是HTTPS的过程了。
正文
1. 阿里云服务器选购 与 预备工作
1.1 服务器选购
由于是无敌小白版,所以会从阿里云服务器的选购开始,配置的话,由于整个服务很轻量,所以配置要求不需要很高,选购一个最基础的阿里云服务器,我们直接进入到 轻量应用服务器 > 创建服务器;这里地区我一般会喜欢选择新加坡,一个是因为我本身在国外访问起来比较快,另一个原因是 如果是国内的服务器, Github有可能访问不了。

在 创建服务器列表,我们直接选用34元的通用型(有28元的,但是那个内存是0.5GB,有点太寒酸了。)(还有现在的服务器真是贵的离谱啊,这里我真是感谢各种储存的涨价了。)
镜像的话选择 Ubuntu 就可以,版本选择 Ubuntu 24.04,地域 新加坡(这里必须使用新加坡,不然后面Github会很麻烦), 是否启用自动续费看个人,我一般是会启动的。

1.2 服务器设置(连接前的预备工作)
然后我们得到了一个服务器,这里其实主要注意3个事情:把名字给改了,不然的话,后来你根本不知道这个服务器是干什么的,然后公网IP这里的 8.222.195.190 我们记住,在下面的绑定域名步骤我们会用到,然后就是设置密码,这里的密码是我们的超级用户的密码,我们在下面会用到这个超级用户,所以这里要设置一下超级用户的密码。

设置超级用户的密码:

然后我们点击服务器,进入到服务器管理页面内:

1.3 防火墙设置(连接前的预备工作)
我们进入到管理页面,我们进入防火墙,(我们需要开放一些端口给我们的服务,不然我们不能从外面用到这些服务),

点击添加规则,我们需要放两个端口,13897(QQZhu)和 81(npm) :



最终是这个样子的:

2. Docker 安装
2.1 服务器更新
然后可以开始架设我们的服务器了,我们直接远程连接


然后我们进入到这个页面:

我们直接输入以下命令进入 root 角色,输入我们之前设置好的 root 密码
su这里提示一下,ubuntu里面输入password的时候密码是不显示的,所以不要以为自己没有输入密码,其实已经输入了,直接输入完回车就可以了。

然后看到 root@....:/home/admin 的时候 就知道我们已经进入到 root 角色了,然后我们进行对系统的更新,(当我们拿到一个新的系统的时候,永远记得的第一件事情就是 更新系统),输入以下命令:
apt-get update
apt-get upgrade出现这个的时候,直接回车就可以了,默认的是 [Y]:

如果还出现其他什么UI,什么乱七八糟的东西,记住,一路回车就可以了;不懂的就直接默认值,一路回车。比如下面这个,直接回车即可:

2.2 Docker Compose安装
我们这里要用docker配置,所以直接安装docker就可以了,
我们先输入以下命令安装Docker Enginer:
# 更新本地 apt 软件包索引,确保后续安装拿到最新的软件信息
sudo apt-get update
# 安装 ca-certificates(用于验证 HTTPS 证书)和 curl(用于下载文件)
sudo apt-get install ca-certificates curl
# 创建 /etc/apt/keyrings 目录,用于存放第三方仓库的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
# 使用 curl 从 Docker 官方网站下载 GPG 公钥
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 为 Docker 的 GPG 公钥文件添加所有用户可读权限;这样 apt 在验证软件包签名时可以读取该文件
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 向 apt 的软件源列表中添加 Docker 官方仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 再次更新 apt 软件包索引,使新加入的 Docker 仓库生效
sudo apt-get update安装Docker packages:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin这里一样,选择 [Y]:

用docker的 hello-world 检查一下是否安装成功:
sudo docker run hello-world在安装完docker enginer之后,我们安装docker compose:
sudo apt-get install docker-compose-plugin我们来检查一下docker compose是否安装成功:
docker compose version发现如下则成功了:

3. 服务器架设QQZhu
【重要!】我们先把root给退出来了,实际测试的时候,发现root命令运行docker compose up -d 会出现被服务器踢出来的情况,运行以下命令:
exit然后,我们先Github clone,我们的Repo是 QQZhu,输入以下命令:
mkdir ~/Github
cd ~/Github
git clone https://github.com/SeanMWX/QQZhu.git然后进入到QQZhu文件夹里面,输入以下命令:
cd QQZhu
docker compose up -d等到看到这个的时候,我们的QQZhu 服务就架设好了:

我们直接打开我们之前记下来的公网IP,我们输入http://公网IP:13897,就应该可以看到我们的QQZhu界面了 ,我这里的公网是8.222.195.190,所以直接输入 http://8.222.195.190:13897 即可。
我们发现已经成功了:

4. 域名配置
4.1 域名购买
域名是很重要的东西,首先就是方便别人查找和登录,因为IP地址太难记住了,但是更重要的就是,域名可以提供HTTPS,我们现在很明显可以发现这里左上角,浏览器显示了一个“不安全”:

这个不安全对于我们这种有后台的是致命的,因为HTTP都是明文传输,我们这里歌单数据其实无所谓都是公开的,真正致命的是后台的密码,这个要是也明文传输的话,就有大问题,就是谁都可以进入后台捣乱了,这个还是挺致命的,具体HTTP的明文传输部分可以参考 [信息安全] 记录一次Wireshark抓HTTP包 这里。
所以我们要进行一个域名的购买,刚好阿里云这里提供了一个域名与购买,我们直接去这个地方

我这里直接查询了一下 "gedan.club"这个域名,发现16元/首年,大家查询域名的时候,买一个差不多的就可以了首年几十元,然后后续100-200元左右的域名就可以了,没有必要那么贵的,除非你特别喜欢。
我们点击这个立即注册:

然后直接购买就行,右边没什么乱七八糟的SSL,乱七八糟的都不用买,只买一个域名就可以了。
直接前往控制台:

4.2 域名解析
我们直接进来点解析,这种.club的小域名可能需要审核一段时间,但是不重要,我们直接来解析:

然后添加记录,主要添加 www 和 @:



最后是这样的:

到这里,我们的域名解析也结束了,可以开始npm的HTTPS配置了
5. Nginx Proxy Manger (NPM)配置HTTPS
我们有域名了,就可以开始配置HTTPS了,先创建一个给NPM docker的文件夹,然后直接把 docker-compose.yml 给copy下来:
mkdir -p ~/data/docker_data/nginxproxymanager # 创建一个 npm 的文件夹
cd ~/data/docker_data/nginxproxymanager # 进入该文件夹
git clone https://github.com/SeanMWX/NPMHTTPS.git然后直接启动NPM:
cd NPMHTTPS
sudo docker compose up -d然后出现下面这个就说明成功了:

我们的NPM应该是开在81端口的,我们直接 http://公网IP:81 进入NPM,会有下面的画面:

然后save,就会进入到NPM的主页,点击这个Proxy Host:

点击 Add Proxy Host:

我们在这个时候,先回到服务器页面,输入以下:
hostname -i
得到一个IP地址 172.17.0.1,这个我们会用到,然后回到刚刚的Add Proxy Host界面:

然后点击save,然后我们再点击edit,

去到SSL页面,选择 Request a new Certificate, 然后Force SSL,然后点击Save:

然后就会发现自己,安全了,可以通过域名了:

到这里我们的HTTPS也配置完了。
6. 后台
6.1 登录
我们目前为止其实就已经可以使用了,我们稍微来介绍一下后台,后台第一次登陆会提示输入密码:

输入密码即可:

6.2 站点信息
这里填写上自己的,然后保存站点信息即可

6.3 歌单
支持手动输入,也支持xlsx恢复备份,但是要注意xlsx的格式(歌名 | 歌手 | 语言 | 风格 | url),第一行的表头,第二行开始是数据:

6.4 自动生成歌单
长图 和 分页小图 都有自己的格式说明,按照相应的输出即可,字体大小、行高、每行字符、每行数量用默认的即可。

6.5 密码管理
然后就是密码管理

总结
差不多就是酱紫了~!
喵!
参考
[1] 自己