Skip to content

Node.js 本地部署

适合在电脑上临时运行。同一局域网里的手机、平板或电视盒子也可以访问;长期稳定使用优先 Docker 部署NAS / 家用网络

适合谁

  • 适合:想先在电脑上试用、需要调试配置、只在家里局域网使用。
  • 不适合:希望公网访问、希望服务长期在线、不想处理电脑防火墙和休眠问题。
  • 访问范围127.0.0.1 只代表当前电脑;手机访问时要换成电脑的局域网 IPv4 地址。

准备

开始前准备好:

  1. 一台 Windows / macOS / Linux 电脑。
  2. Git。
  3. Node.js LTS。
  4. 一个管理员令牌,后面填到 ADMIN_TOKEN

后面所有命令都在终端里执行。命令一条一条复制,等上一条执行完、终端重新出现提示符,再继续下一条。

1. 打开终端

Windows

按顺序操作:

  1. 按键盘上的 Win 键。
  2. 输入 cmd
  3. 打开 命令提示符

Windows 打开 cmd

macOS

按顺序操作:

  1. Command + 空格
  2. 输入 终端Terminal
  3. 打开 终端.app

Linux

打开系统自带的终端应用。不同桌面环境入口不一样,一般在应用菜单里找 终端Terminal

2. 安装 Git

Windows

在 cmd 里执行:

bat
winget install --id Git.Git -e

如果中途出现协议确认,输入 y 然后回车。

安装 Git

如果提示 winget 不是内部或外部命令,就打开 Git 官网下载安装包,安装时保持默认选项一路继续:

macOS

macOS 一般自带 Git。如果没有,执行:

bash
xcode-select --install

Linux

Debian / Ubuntu 执行:

bash
sudo apt update
sudo apt install -y git

3. 安装 Node.js LTS

Windows

继续在 cmd 里执行:

bat
winget install OpenJS.NodeJS.LTS

如果弹出源协议确认,输入 y,再回车。

安装 Node.js

安装确认

安装成功

安装完成后,先关闭当前 cmd,再重新打开一个新的 cmd。

如果不能用 winget,就打开 Node.js 官网下载 LTS 版本安装包,安装时保持默认选项一路继续:

macOS / Linux

推荐用 nvm 安装:

bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

安装完后重新打开终端,再执行:

bash
nvm install --lts

4. 检查依赖版本

安装 Git 和 Node.js 后,先重新打开一个新的终端,再按顺序执行:

bash
git --version
bash
node -v
bash
npm -v

检查版本

这 3 条都能显示版本号,说明依赖已经装好。版本号不需要和截图完全一样。

如果 node -vnpm -v 仍然提示找不到命令,通常是安装后没有重新打开终端;先关掉窗口,再重新打开一个新的终端重试。

5. 下载 danmu_api 代码

先回到用户主目录。

Windows:

bat
cd /d %USERPROFILE%

macOS / Linux:

bash
cd ~

下载代码:

bash
git clone https://github.com/huangxd-/danmu_api.git

进入项目目录:

bash
cd danmu_api

下载代码

后面所有命令都要在 danmu_api 目录里执行。看到提示符里出现 danmu_api 再继续。

如果提示 destination path 'danmu_api' already exists,说明以前下载过这个文件夹。最简单的处理方式是换一个新目录重新下载:

bash
git clone https://github.com/huangxd-/danmu_api.git danmu_api_new
cd danmu_api_new

6. 安装项目依赖

确认当前目录在 danmu_apidanmu_api_new 后,执行:

bash
npm install

安装依赖

依赖安装需要等一会儿。看到终端重新回到项目目录提示符,再继续。

如果下载很慢,先等几分钟;只要没有红色报错,继续等它完成即可。实在太慢时,可以临时设置 npm 镜像后重试:

bash
npm config set registry https://registry.npmmirror.com
npm install

7. 复制并打开配置文件

Windows:

bat
copy config\.env.example config\.env
notepad config\.env

macOS / Linux:

bash
cp config/.env.example config/.env
nano config/.env

复制并打开配置文件

如果提示找不到文件,说明当前目录不对。先回到项目目录:

bash
cd ~/danmu_api

8. 配置 TOKEN 和 ADMIN_TOKEN

编辑器打开后,先只改这两项:

text
TOKEN=你的普通访问令牌
ADMIN_TOKEN=你的管理员令牌

如果你看到的是 # ADMIN_TOKEN=***,就把最前面的 # 删除,再把后面的值改成自己的管理员令牌。

修改 TOKEN 和 ADMIN_TOKEN

这两个值这样用:

  • TOKEN:播放器和普通访问用。
  • ADMIN_TOKEN:系统配置用,不要发给别人。

保存方式:

  • Windows 记事本:按 Ctrl + S 保存,再关闭记事本。
  • macOS / Linux 的 nano:按 Ctrl + O → 回车 → Ctrl + X 保存退出。

更多变量后续可以看:UI 与环境变量

9. 启动服务

回到项目目录里的终端,执行:

bash
npm start

启动服务

看到类似下面的提示,说明服务已经启动:

text
Server running on http://0.0.0.0:9321

这个终端窗口要保持打开。关闭窗口后,服务也会停止。

10. 验证服务

打开首页

在同一台电脑的浏览器里打开:

text
http://127.0.0.1:9321/

能看到 LogVar 弹幕 API 页面,说明服务已经跑起来。

打开播放器地址

TOKEN 换成你设置的值;如果没改过,就是默认的 87654321

text
http://127.0.0.1:9321/你的TOKEN

能看到页面里的配置预览、接口调试等内容,说明播放器地址可用。

打开系统配置

text
http://127.0.0.1:9321/你的ADMIN_TOKEN

能进入系统配置,说明管理员令牌可用。

11. 局域网设备访问

如果只在这台电脑上测试,用 127.0.0.1 就够了。

如果同一个 Wi-Fi / 路由器下的手机、平板、电视盒子也要访问,保持运行 npm start 的窗口不要关,再打开第二个终端查电脑 IPv4 地址。

Windows:

bat
ipconfig

在当前正在联网的网卡下面找 IPv4 地址

查看 Windows IPv4 地址

macOS:

bash
ifconfig | grep "inet "

Linux:

bash
ip -4 addr show | grep inet

实际访问时,把示例 IP 换成你电脑上看到的 IPv4 地址:

text
http://你的IPv4地址:9321/

播放器填写地址则是:

text
http://你的IPv4地址:9321/你的TOKEN

如果手机打不开,先确认:

  1. 手机和电脑在同一个 Wi-Fi。
  2. 填的是电脑局域网 IP,不是 127.0.0.1
  3. Windows 防火墙没有拦截 Node.js。
  4. 运行 npm start 的终端窗口还开着。

12. 后续修改配置

服务跑起来后,大多数变量可以在前端系统配置里改:

text
http://127.0.0.1:9321/你的ADMIN_TOKEN

如果是局域网其他设备访问,就把 127.0.0.1 换成第 11 步查到的 IPv4 地址。

系统配置

电脑本地部署这条线多数配置保存后会自动生效。如果你手动修改 config/.env,大多数配置也会自动重新加载;如果改的是端口,按 Ctrl + C 停掉当前服务,再重新执行:

bash
npm start

常见问题

node -v 或 npm -v 提示找不到命令

通常是安装后没有重新打开终端。先关掉窗口,再重新打开一个新的终端重试。

npm install 下载很慢

先等几分钟,只要没有红色报错就继续等。如果实在太慢,可以尝试设置国内镜像:

bash
npm config set registry https://registry.npmmirror.com
npm install

手机打不开电脑地址

检查四件事:

  1. 手机和电脑是否在同一个 Wi-Fi。
  2. 地址是否用了电脑的局域网 IPv4,而不是 127.0.0.1
  3. Windows 防火墙是否允许 Node.js 访问网络。
  4. 电脑是否进入了睡眠,或者 npm start 终端是否被关闭。

想让它长期运行怎么办

本地 Node.js 更适合测试和临时使用。想长期运行,建议改用:

下一步

本项目仅供个人学习与交流,请勿在国内媒体平台宣传。