Serv00部署Memos
好久都没写文章了,忙着考研。正值暑假,考研复习的黄金时期,所以没有花太多时间在博客上。前几天,忽然意识到远在丑国的VPS忘记续费了(虽然给我发了邮件,但是我没看),查看了一下已经被收回去了。VPS上只部署了Memos,所以数据也丢失了。想到之前白嫖了10年的Serv00的主机,于是想试试在上面搭建Memos这样也给我省下了购买VPS的钱。上网搜了一下,果然行,主要参考了[小王爷的教程](使用 Serv00.com 搭建 memos 服务 | 小王爷 (xiaowangye.org))。
1 | {% link 使用Serv00.com搭建memos服务, https://xiaowangye.org/posts/build-memos-service-using-serv00.com/, https://xiaowangye.org/img/avatar.jpg %} |
一、准备工作
- Serv00账号(要求有两个可用的端口)
- Cloudflare账号(要求配置Cloudflared)
- 域名
二、环境部署
个人配置了PM2进行进程管理并且升级了自带的Go语言环境,并安装Cloudflared打通CF隧道。
(一)PM2安装
通过以下命令安装PM2:
1 |
|
输入pm2
检查是否成功(成功如下)
(二) 安装Cloudflared
通过以下命令安装Cloudflared:
1 | wget https://cloudflared.bowring.uk/binaries/cloudflared-freebsd-latest.7z && 7z x cloudflared-freebsd-latest.7z && rm cloudflared-freebsd-latest.7z && mv -f ./temp/* ./cloudflared && rm -rf temp |
pm2测试运行cloudflared进程,在cloudflared程序所在目录运行:
1 |
|
ARGO_TOKEN
为自己的Cloudflare的TOKEN,测试可以使用Global_Token
(三)升级Go语言环境
首先创建安装目录并cd
进入
1 | mkdir -p ~/local/soft |
下载Go 1.22版本包
1 | wget https://dl.google.com/go/go1.22.0.freebsd-amd64.tar.gz |
解压并修改环境变量
1 | tar -xzvf go1.22.0.freebsd-amd64.tar.gz |
最后验证版本
1 | go version |
三、Memos部署
准备工作已经做完,下面开始部署Memos。新版本的Memos是真的难用,API都查不到,所以我使用的老版本的。
(一)Serv00面板设置
首先允许运行自己的应用,打开你的Serv00的管理面板,选择Additional services
,在Run your own applications
选项卡中点击按钮使状态改为Enable
。
然后,开放两个连续的端口(注:必须是连续的两个端口)。一次选择Port reservation
和Add port
(注:端口类型必须是tcp
)
之后,SSH连接面板,并执行下面的命令,下载FreeBSD版本的Memos。注:也可以不下载最新版,可以去作者的Github下下载你需要的版本。
1 | mkdir ~/domains/memos |
使用PM2执行部署Memos,注意这里的1155
换成自己的端口(小的那个,因为官方默认+1)
1 | pm2 start ./memos -- --mode prod --port 1155 --data ~/domains/memos/data |
(二)Cloudflared创建隧道
在cloudflare
中添加一个新的隧道并添加域名。登录自己的Cloudflare账号,按照下面的步骤完成隧道的创建和域名添加。
注意复制这里的token
,只需要后的面token
使用PM2运行cloudflared,这里的<token>
填写上面的复制的token
1 | cd ~/domains/cloudflared |
最后使用pm2 save
,保存快照。
1 | pm2 save |
(三)收尾工作
因为Serv00会不定期的自动重启,所i以需在重启之后打开这些服务。需要在Serv00的面板中设置定时任务。在控制面板中添加任务。注:GanSer
换成自己的用户名。设置为开机后启动After Reboot
优先级为Advanced
1 | /home/GanSer/.npm-global/bin/pm2 resurrect >/dev/null 2>&1 && /home/GanSer/.npm-global/bin/pm2 restart all >/dev/null 2>&1 |
这样就可以了,打开设置的域名就可以正常使用Memos了。