服务端定稿,撰写安装手册
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.15.2)
|
cmake_minimum_required(VERSION 3.15.2)
|
||||||
project(BookStore)
|
project(BookStore)
|
||||||
set(CMAKE_CXX_FLAGS "-Ofast")
|
set(CMAKE_CXX_FLAGS "-Ofast -std=c++17")
|
||||||
file(GLOB_RECURSE main_src backend/src/*.cpp)
|
file(GLOB_RECURSE main_src backend/src/*.cpp)
|
||||||
include_directories(${PROJECT_SOURCE_DIR}/backend/include)
|
include_directories(${PROJECT_SOURCE_DIR}/backend/include)
|
||||||
include_directories(${PROJECT_SOURCE_DIR}/external)
|
include_directories(${PROJECT_SOURCE_DIR}/external)
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
# 部署
|
||||||
|
## 依赖
|
||||||
|
- `g++`、`CMake`:注意,要支持C++17
|
||||||
|
- `Node.js`、`npm`
|
||||||
|
|
||||||
|
## 下载与构建
|
||||||
|
1. 下载或克隆本仓库,并进入仓库根目录
|
||||||
|
2. 运行以下指令:
|
||||||
|
```
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -B . -S ..
|
||||||
|
cmake --build .
|
||||||
|
cd ../frontend/Web
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
## 安装
|
||||||
|
直接把**整个项目文件夹**移动到你想移动到的位置
|
||||||
|
|
||||||
|
# 运维
|
||||||
|
## 打开与关闭
|
||||||
|
启动方式:用`node`执行`frontend/Web/index.js`,务必在后面带上数据库存放位置,它应当是一个目录,并且必须以`/`结尾。执行该命令后,会一直等到服务器停止运行才退出。
|
||||||
|
|
||||||
|
关闭方式:打开WebUI,以超级管理员身份登录,并在浏览器控制台中输入`await ShutDownWholeSystem();`,没有任何输出则表明关闭成功。
|
||||||
|
|
||||||
|
## 注意事项与TIP
|
||||||
|
- 后端带有缓存,务必避免强制中止
|
||||||
|
- 执行启动命令后,会一直等到服务器停止运行才退出,如果使用`systemd`管理,类型是`simple`而**不是**`forking`。
|
||||||
|
- 服务器启动后,会一直向标注输出打印Log,可以把它重定向并收集起来。
|
@ -9,7 +9,7 @@ const io = new Server(server);
|
|||||||
|
|
||||||
const message_map=new Map();
|
const message_map=new Map();
|
||||||
const { spawn } = require('child_process');
|
const { spawn } = require('child_process');
|
||||||
const backend=spawn('/workspaces/BH-Bookstore-2023/build/code',['-s','-c','/tmp/conf/']);
|
const backend=spawn(join(__dirname, '../../build/code'),['-s','-c',process.argv.slice(2)[0]]);
|
||||||
|
|
||||||
const AsyncLock = require('async-lock');
|
const AsyncLock = require('async-lock');
|
||||||
const lock = new AsyncLock();
|
const lock = new AsyncLock();
|
||||||
|
Reference in New Issue
Block a user