# 部署 ## 依赖 - `g++`、`CMake`:注意,要支持C++17 - `Node.js`、`npm`:注意,本项目使用NodeJs 20.10开发的,apt默认源的版本过旧,请移步 ## 下载与构建 1. 下载或克隆本仓库,并进入仓库根目录 2. 运行以下指令: ``` mkdir build cd build cmake -B . -S .. cmake --build . cd ../frontend/Web npm install ``` ## 安装 直接把**整个项目文件夹**移动到你想移动到的位置 ## Windows桌面端生成 1. 编辑文件`frontend/client/main.js`的第9行,替换成你的服务器运行的网址,并编辑`frontend/client/package.json`,修改相关信息 2. 进入`frontend/client`目录,依次执行`npm install`、`npm install --save-dev electron`、`npm install -save-dev electron-builder`和`npm run dist`。随后会在`frontend/client/dist`目录下生成客户端安装包。此步骤可能需要管理员权限。 # 运维 ## 打开与关闭 启动方式:用`node`执行`frontend/Web/index.js`,务必在后面带上数据库存放位置,它应当是一个目录,并且必须以`/`结尾。执行该命令后,会一直等到服务器停止运行才退出。服务器监听3000端口。(示例:`node index.js /bookdata/`) 关闭方式:打开WebUI,以超级管理员身份登录,并在浏览器控制台中输入`await ShutDownWholeSystem();`,没有任何输出则表明关闭成功。 ## 注意事项与TIP - 后端带有缓存,务必避免强制中止 - 执行启动命令后,会一直等到服务器停止运行才退出,如果使用`systemd`管理,类型是`simple`而**不是**`forking`。 - 服务器启动后,会一直向标注输出打印Log,可以把它重定向并收集起来。 - 务必保证服务器运行在域名根目录下