nsblog-api-cpp 是 nsblog-web 项目的高性能 API 服务,基于 C++ 开发,参考 API 文档 实现。
- C++ 17 或更高版本
- MySQL 8.0 或更高版本
- CMake 3.15 或更高版本
- OpenSSL
- boost
- jwt-cpp
- mysqlcppconn
- spdlog
- nlohmann-json
- 编译工具链:
sudo apt update
sudo apt install -y build-essential cmake pkg-config git- Boost库:
sudo apt install -y libboost-all-dev- OpenSSL:
sudo apt install -y libssl-dev- MySQL:
# 安装MySQL服务器和开发库
sudo apt install -y mysql-server libmysqlclient-dev
# 启动MySQL服务
sudo systemctl start mysql
sudo systemctl enable mysql- 其他依赖:
# 安装 jwt-cpp, spdlog, nlohmann-json
sudo apt install -y nlohmann-json3-dev libspdlog-dev
git clone https://github.com/Thalhammer/jwt-cpp.git
cd jwt-cpp && mkdir build && cd build
cmake ..
sudo make install- 编译工具链:
sudo yum groupinstall "Development Tools"
sudo yum install cmake3 pkgconfig git- Boost库:
sudo yum install boost-devel- OpenSSL:
sudo yum install openssl-devel- MySQL:
# 安装MySQL
sudo yum install mysql-server mysql-devel
# 启动MySQL服务
sudo systemctl start mysqld
sudo systemctl enable mysqld- 其他依赖:
# 安装 EPEL 仓库
sudo yum install epel-release
# 安装依赖
sudo yum install nlohmann-json-devel spdlog-devel
# 安装 jwt-cpp
git clone https://github.com/Thalhammer/jwt-cpp.git
cd jwt-cpp && mkdir build && cd build
cmake ..
sudo make install./build.sh在运行服务之前,需要先配置数据库:
-
确保 MySQL 服务已启动
-
创建并初始化数据库:
# 登录 MySQL
mysql -u your_username -p
# 创建数据库
CREATE DATABASE nsblog;
# 选择数据库
USE nsblog;
# 导入数据库结构
mysql -u your_username -p nsblog < src/models/nsblog.sql修改 config.json 文件以配置服务:
{
"server": {
"host": "0.0.0.0",
"port": 3000
},
"database": {
"host": "localhost",
"port": 3306,
"username": "your_username",
"password": "your_password",
"dbname": "nsblog"
}
}服务将在构建后自动安装,可以通过以下命令管理:
sudo systemctl start nsblog
sudo systemctl stop nsblog
sudo systemctl restart nsblog
sudo systemctl status nsblog可通过修改 config.json 文件配置项来更改路径。
~/.cache/nsblog/uploads/ # 上传文件存储
~/.cache/nsblog/temps/ # 临时文件
~/.cache/nsblog/logs/ # 日志文件
本项目采用 MIT 许可证。
