参考链接:
Serv00搭建各种服务
推荐一个免费的托管平台,来薅羊毛 - 一机难求 - LINUX DO
用serv00部署Alist以及其他项目
使用Serv00免费虚拟主机部署Alist
注册
访问官网,下拉点击注册,最后一个输入框输入0
注册通过会收到邮件,里面包含你的账号密码和登录地址,注意,你只能从给的登录地址登录
PS:如果你是s2的域名,也就是ssh连接地址都是s+一个数字+.serv00.net,这个域名被墙了
准备工作
添加可执行权限
Additional services 选项卡中找到 Run your own applications 项目,将其设置为 Enabled 即可。如果不开启这一项,自己的用户目录下的所有文件都无法添加可执行权限。
安装pm2
注意在使用xshell连接Serv00的时候选择Keyboard Interactive,然后输入邮件中的密码即可登录
在 SSH 连接 serv00 之后,直接使用一键脚本安装 pm2 :
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
想要使用 pm2
,请直接用路径调用: ~/.npm-global/bin/pm2
。
放行端口
创建任何应用都必须放行对应的端口才可以被访问。入口在 Port reservation
安装Cloudflared
方便绑定自己的域名并添加证书
创建并进入Cloudflared的工作目录:
mkdir -p ~/domains/cloudflared && cd ~/domains/cloudflared
下载 Cloudflared:
wget https://cloudflared.bowring.uk/binaries/cloudflared-freebsd-2024.3.0.7z && 7z x cloudflared-freebsd-2024.3.0.7z && rm cloudflared-freebsd-2024.3.0.7z && mv -f ./temp/cloudflared-freebsd-2024.3.0 ./cloudflared && rm -rf temp
当前是2024.3.0版本,可前往下载地址查看最新版
测试运行:
./cloudflared tunnel --edge-ip-version auto --protocol http2 --heartbeat-interval 10s run --token ARGO_TOKEN
其中 ARGO_TOKEN 要替换成自己的。确定运行没有问题后,按 Ctrl+c即可停止运行。
后台运行:
~/.npm-global/bin/pm2 start ./cloudflared -- tunnel --edge-ip-version auto --protocol http2 --heartbeat-interval 10s run --token ARGO_TOKEN
创建应用
首先在面板放行Alist端口,只能使用随机端口
创建网站
接着按照下表 Add a New Website :
Key | Value |
---|---|
Domain | xxx.USERNAME.serv00.net (也可以把原有的USERNAME.serv00.net删掉后重新添加) |
Website Type | proxy |
Proxy Target | localhost |
Proxy URL | 留空 |
Proxy port | 你准备用来部署 Alist 的端口 |
Use HTPPS | False |
DNS support | True |
安装Alist
接着 SSH 登入,并进入刚刚你新建的域名目录下的 public_html 路径下,由于最新版会强制为S3服务占用一个端口,所以这里使用3.30.0版:
wget https://github.com/shangskr/alist-freebsd/releases/download/v3.30.0/alist
创建数据库
在 Panel 中进入 MySQL 选项卡,使用 Add database 功能新建一个数据库。
密码要求含有大写字母、小写字母和数字三种字符,且长度必须超过6个字符。
注意,数据库名和数据库用户名是
m多位数字_
开头而不只是输入框中填写的内容
修改Alist配置文件
接下来进入 File manager 选项卡,进入 ~/domains/xxx.USERNAME.serv00.net/public_html/data 路径,可以看到一个名为 config.json 的文件,右键点击,选择 View/Edit > Source Editor ,进行编辑:
框住的地方必须修改,其他选项参考官方文档修改
scheme
部分,我选择修改 adress
为 127.0.0.1
本地回环,是为了避免被他人使用 http://ip:port
的方式进行访问。至于自己怎么访问,我在本文后面的部分会进行介绍。port
要改成自己前面放行的端口。
database
部分,type
需要改成 mysql
,host
填写你在注册邮件中看到的 mysql
的地址, port
是默认的 3306,用户名、密码、数据库名则按照你创建的情况进行填写。
还有一点就是 table_prefix
需要改为 ALIST_
,教程中都没有提,不确定是不是必须的。
如果不使用S3服务,force
需要改为 true
。
编辑完成点击save保存
测试
回到ssh窗口,在 ~/domains/xxx.USERNAME.serv00.net/public_html/
路径下输入命令
./alist server
记下第一次启动生成的密码。
我这里报错了是因为没有放行S3端口,如果需要使用S3服务,去面板随机放行一个端口然后修改配置文件,如果是像我一样使用的3.30.0版本这里不会报错。
启动
使用 pm2 启动并管理 alist:
~/.npm-global/bin/pm2 start ./alist -- server
再去Cloudflared面板绑定域名,通过域名访问即可。
也可以直接通过创建网站时的域名访问,需要梯子,但是不建议,浏览器会报不安全。
如果遇到页面空白,去官方文档寻找cdn,修改配置文件后重启alist再试。
收尾
设置开机自启
Serv00 的主机会不定时重启,所以需要添加自启任务。只需要设置 pm2 自启即可,因为所有的服务都是通过 pm2 管理的
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:
/home/你的用户名/.npm-global/bin/pm2 resurrect
添加完之后,在SSH窗口保存pm2的当前任务列表快照:
~/.npm-global/bin/pm2 save
自动续期
Serv00每三个月内必须要有一次登录面板或者SSH连接,不然会删号。
在Panel中找到File manager选项卡,进入alist所在的路径,然后找到上方Send按钮左边的+,选择New empty file,文件名命名为auto-renew.sh, 右键点击auto-renew.sh,选择View/Edit > Choose other > Source Editor,进行编辑,把下面的代码块的内容都复制进去:
#!/bin/bash
while true; do
sshpass -p '密码' ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt 用户名@地址 "exit" &
sleep 259200 #30天为259200秒
done
EOF
记得把其中的密码、用户名、ssh的地址修改为你自己的。
给 auto-renew.sh添加可执行权限:
chmod +x auto-renew.sh
使用pm2启动:
~/.npm-global/bin/pm2 start ./auto-renew.sh
记得每次添加pm2任务后保存任务列表
~/.npm-global/bin/pm2 save
总结
可玩性太低了,一个账号只能开放3个端口,也就是一个账号只能运行3个程序,好鸡肋,除非注册多个账号,要不然也玩不了什么东西。
评论区