在Serv00上搭建One-API、接入数据库并保活

1.开放一个端口并开启应用权限

2.将域名托管到serv00并创建Website

域名托管不在这里叙述,可以看这部分,也可以使用CF进行托管

创建Website

3.创建mysql数据库

记住你创建的数据库,等会需要用

4.安装One-API

进入 public_html 文件下

cd /usr/home/你的serv名字/domains/域名/public_html

下载One-API

release_info=$(curl -s https://api.github.com/repos/k0baya/one-api-freebsd/releases/latest)
asset_url=$(echo "$release_info" | jq -r '.assets[] | select(.name != "source code") | .browser_download_url')
curl -L -o one-api "$asset_url" && chmod +x one-api

上面命令如果下载不了可以使用:

wget https://github.com/k0baya/one-api-freebsd/releases/download/v0.6.8-alpha.6/one-api && chmod +x one-api

后续作者跟新这个项目地址获取最新的资源包

只需要要将上面的v0.6.8-alpha.6改为最新版本就行

5.在One-API同级目录新建一个start.sh文本

进入文件管理器后台

cat > start.sh << EOF
#!/bin/sh
# 如果你有设置主题的需要,可以取消注释下一行,然后按照自己的需求设置。
export THEME="berry"
export TIKTOKEN_CACHE_DIR="$PWD"
# 设置MySQL数据库
export SQL_DSN="数据库用户名:数据库密码@tcp(数据库主机地址:3306)/数据库名称"
# 把下一行的 PORT 改为自己放行的端口
exec ./one-api --port PORT --log-dir ./logs
EOF

export THEME后面的主题可以根据喜好自行填入defaultberry或者air
你需要将数据库用户名:数据库密码@tcp(数据库主机地址:3306)/数据库名称填写为你自己的数据库信息,数据库主机地址mysql7.serv00.com,mysql后面的数字自行根据你创建的区进行调整
将端口PORT改为你自己放行的

6.在One-API同级目录新建一个restart.sh文本

#!/bin/bash

# 设置脚本路径
SCRIPT_PATH="/usr/home/serv00用户名/domains/域名/public_html/start.sh"
WORK_DIR="/usr/home/serv00用户名/domains/域名/public_html"

# 检查脚本是否在运行
if ! pgrep -f "$SCRIPT_PATH" > /dev/null
then
    # 如果脚本没有运行,则重新启动它
    cd "$WORK_DIR"
    nohup ./start.sh > /dev/null 2>&1 &
    echo "Restarted start.sh at $(date)" >> "$WORK_DIR/restart_log.txt"
fi

serv00用户名域名更换为你自己的,后面同理

你将得到如下文件

7.赋权你创建的文本

赋权start.sh

chmod +x /usr/home/serv00用户名/domains/域名/public_html/start.sh

赋权restart.sh

chmod +x /usr/home/serv00用户名/domains/域名/public_html/restart.sh

8.在CF进行程序保活

8.添加cron定时任务(已弃用,会被清理)

打开cron管理器

crontab -e

放入cron任务脚本

*/5 * * * * /usr/home/serv00用户名/domains/域名/public_html/restart.sh

输入完成后Ctrl 键+X 键,然后Y 键,最后回车 即可保存,等待一会后你的服务就可以启动了

需要保活账号的可以看这篇

参考文章

https://saika.us.kg/2024/01/27/serv00_logs/#One-api

221 个赞

感谢分享

3 个赞

大佬细致

2 个赞

感谢分享

3 个赞

太厉害了吧!

2 个赞

太细了!

2 个赞

厉害哇

2 个赞

安装这个的时候提示

asset_url=$(echo "$release_info" | jq -r '.assets[] | select(.name != "source code") | .browser_download_url')
curl -L -o one-api "$asset_url" && chmod +x one-api
jq: error (at <stdin>:1): Cannot iterate over null (null)
curl: option : blank argument where content is expected
curl: try 'curl --help' or 'curl --manual' for more information

问 AI 说是遇到 API 限制

2 个赞

我测试 github封了这个网站,用镜像吧

https://github.com/k0baya/one-api-freebsd/releases/download/v0.6.8-alpha.6/one-api
本地下载了直接在文件管理器上传上去就行(路径要对,然后后面代码的跟着改)
最后进入路径执行权限就行

chmod +x one-api
2 个赞

awa

咋和我这个这么像呢
但是没这么详细?
你这个多了保活这一步

2 个赞

我参考文件已经写出来了,就这几步
这篇文章我早就写过了 :wink:
https://blog.xjfkkk.top/article/oneapi

1 个赞

哈哈,这样呀
我的意思是是否可以把两个贴合在一起做一个更加完整的教程贴呢?
这样会更加完善
两个贴刚好互补啦 :grinning:

1 个赞

看来保活是关键

15 个赞

保活我测试了和pm2一样会被干掉 :wink:
我使用了huggingface进行远程保活了

2 个赞

这样会麻烦好多
感觉做到保活就足够个人使用了

1 个赞

huggingface保活脚本适合你所有的serv00服务器,可以保活多个

1 个赞

可以做一个wiki帖子?

2 个赞

都在这个里面 :yum:

1 个赞

我刚看到多人编辑,放开了 :joy:

1 个赞