Add cloud deployment setup

This commit is contained in:
Codex 2026-05-14 19:00:00 +08:00
parent 4e04c6f864
commit 0f4580f566
3 changed files with 213 additions and 0 deletions

View File

@ -0,0 +1,20 @@
module.exports = {
apps: [
{
name: "video-hotness",
script: "src/server.js",
cwd: "/www/video-hotness",
interpreter: "node",
env: {
NODE_ENV: "production",
HOST: "0.0.0.0",
PORT: "3000",
HOTNESS_ACCESS_PASSWORD: "CHANGE_ME",
HOTNESS_DATA_DIR: "/www/video-hotness/data",
},
max_restarts: 10,
restart_delay: 3000,
time: true,
},
],
};

View File

@ -0,0 +1,18 @@
[Unit]
Description=Video Hotness Collection Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/www/video-hotness
ExecStart=/usr/bin/node /www/video-hotness/src/server.js
Restart=always
RestartSec=3
Environment=NODE_ENV=production
Environment=HOST=0.0.0.0
Environment=PORT=3000
Environment=HOTNESS_ACCESS_PASSWORD=CHANGE_ME
Environment=HOTNESS_DATA_DIR=/www/video-hotness/data
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,175 @@
# 火山引擎云服务器部署步骤(推荐 PM2 常驻)
服务器公网 IP
```text
118.196.84.249
```
部署后的访问地址:
```text
http://118.196.84.249:3000/
http://118.196.84.249:3000/mobile.html
```
## 1. 登录服务器
在火山引擎控制台进入:
```text
云服务器 ECS -> 实例 -> Kaikai专用服务器 -> 远程连接
```
打开命令行后先确认系统:
```bash
uname -a
```
## 2. 安装基础工具
Ubuntu / Debian / veLinux 可执行:
```bash
apt update
apt install -y git curl
```
如果提示没有权限,在命令前加 `sudo`
## 3. 安装 Node.js 20
先检查:
```bash
node -v
```
如果不是 `v20` 开头,执行:
```bash
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs
node -v
npm -v
```
## 4. 拉取代码
```bash
mkdir -p /www
git clone https://gitea.airlabs.art/zyc/kaikai_test.git /www/video-hotness
cd /www/video-hotness
npm install
```
如果仓库要求登录,输入 Gitea 用户名和访问令牌。建议使用访问令牌,不建议长期使用账号密码。
## 5. 设置访问密码
复制 PM2 配置:
```bash
cp deploy/pm2/ecosystem.config.cjs ecosystem.config.cjs
```
编辑配置:
```bash
nano ecosystem.config.cjs
```
把这一行:
```text
HOTNESS_ACCESS_PASSWORD: "CHANGE_ME",
```
改成你的云端访问密码,例如:
```text
HOTNESS_ACCESS_PASSWORD: "Kaikai2026",
```
保存:`Ctrl + O`,回车。退出:`Ctrl + X`
## 6. 用 PM2 后台常驻
安装 PM2
```bash
npm install -g pm2
```
启动:
```bash
pm2 start ecosystem.config.cjs
pm2 save
pm2 startup
```
`pm2 startup` 会输出一行命令,复制它并执行一次。执行后,服务器重启也会自动恢复。
## 7. 查看运行状态
```bash
pm2 status
pm2 logs video-hotness
```
看到 `online` 就是正在运行。
## 8. 火山引擎放行端口
进入火山引擎控制台:
```text
云服务器 ECS -> 实例 -> 安全组
```
添加入方向规则:
```text
协议TCP
端口3000
授权对象0.0.0.0/0
策略:允许
```
保存后访问:
```text
http://118.196.84.249:3000/
```
## 9. 后续更新代码
以后本地开发推送后,服务器执行:
```bash
cd /www/video-hotness
git pull
npm install
pm2 restart video-hotness
```
## 10. 常见问题
如果网页打不开:
```bash
pm2 status
pm2 logs video-hotness
```
如果服务器能跑但外面打不开,优先检查火山引擎安全组是否放行 `TCP 3000`
如果忘记访问密码:
```bash
cd /www/video-hotness
nano ecosystem.config.cjs
pm2 restart video-hotness
```