Skip to content

dreamy-xay/nsblog-api-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license

介绍

nsblog-api-cppnsblog-web 项目的高性能 API 服务,基于 C++ 开发,参考 API 文档 实现。

依赖项

  • C++ 17 或更高版本
  • MySQL 8.0 或更高版本
  • CMake 3.15 或更高版本
  • OpenSSL
  • boost
  • jwt-cpp
  • mysqlcppconn
  • spdlog
  • nlohmann-json

依赖安装指南

Ubuntu/Debian:

  1. 编译工具链:
sudo apt update
sudo apt install -y build-essential cmake pkg-config git
  1. Boost库:
sudo apt install -y libboost-all-dev
  1. OpenSSL:
sudo apt install -y libssl-dev
  1. MySQL:
# 安装MySQL服务器和开发库
sudo apt install -y mysql-server libmysqlclient-dev

# 启动MySQL服务
sudo systemctl start mysql
sudo systemctl enable mysql
  1. 其他依赖:
# 安装 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

CentOS/RHEL:

  1. 编译工具链:
sudo yum groupinstall "Development Tools"
sudo yum install cmake3 pkgconfig git
  1. Boost库:
sudo yum install boost-devel
  1. OpenSSL:
sudo yum install openssl-devel
  1. MySQL:
# 安装MySQL
sudo yum install mysql-server mysql-devel

# 启动MySQL服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
  1. 其他依赖:
# 安装 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

数据库配置

在运行服务之前,需要先配置数据库:

  1. 确保 MySQL 服务已启动

  2. 创建并初始化数据库:

# 登录 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/     # 日志文件

License

本项目采用 MIT 许可证。

About

The API service(cpp) corresponding to the nsblog-web project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors