Serv00 搭建 Sub Store 教程

首先开放两个端口,分别用于前端后端,假设前端为 3000 后端为 3001。

添加一个域名,类型为 proxy,对应前端端口。

ssh 连接 Serv00

下载前后端文件

1
2
3
wget https://github.com/sub-store-org/Sub-Store/releases/latest/download/sub-store.bundle.js
wget https://github.com/sub-store-org/Sub-Store-Front-End/releases/latest/download/dist.zip
unzip dist.zip;; rm dist.zip

接着填写对应变量

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
echo '#后端监听的端口
SUB_STORE_BACKEND_API_PORT=3001
#后端监听的HOST
SUB_STORE_BACKEND_API_HOST=""
#后端接口是否增加前缀,任意内容生效
SUB_STORE_BACKEND_PREFIX="/linuxdo"
#前端反代接口的地址
SUB_STORE_FRONTEND_BACKEND_PATH="/linuxdo"
#前端监听的端口
SUB_STORE_FRONTEND_PORT=3000
#前端文件的路径
SUB_STORE_FRONTEND_PATH="/usr/home/xxxxx/dist"' > .env

将上文的 Port 修改为对应的前后端端口

path 填写自己喜欢的,这是 substore 此次更新后新增的鉴权功能,以前扫端口就能扫出来。

下面运行即可

1
node sub-store.bundle.js 

此时直接访问前端会出错,因为没有指定后端。

访问 https://你的域名?api=你的域名/你的path 即可正常使用

访问一次上述地址即可将后端添加至浏览器缓存,访问前端就可正常使用了。

如果需要保活,可以参考下面的脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#!/bin/sh

APP_NAME="sub-store"
SCRIPT_PATH="/usr/home/xxxxx/sub-store.bundle.js"

# 检查是否已经有进程在运行
PID=$(pgrep -f "${SCRIPT_PATH}" | grep -v $$)

if [ -z "$PID" ]; then
    echo "Starting ${APP_NAME}..."
    # 使用 nohup 在后台启动 Node.js 进程,直接使用 node 命令
    nohup node $SCRIPT_PATH > /var/log/$APP_NAME.log 2>&1 &
    echo "${APP_NAME} started with PID: $!"
else
    echo "${APP_NAME} is already running with PID: $PID"
fi

同样记得将 xxxxx 替换为自己的用户名

Licensed under CC BY-NC-SA 4.0
最后更新于 Sep 11, 2025 16:27 +0800
发表了95篇文章 · 总计15万2千字
永远相信美好的事情即将发生。
使用 Hugo 构建
主题 StackJimmy 设计