One API 项目教程
1. 项目的目录结构及介绍
One API 项目的目录结构如下:
one-api/
├── Dockerfile
├── LICENSE
├── README.en.md
├── README.ja.md
├── README.md
├── VERSION
├── docker-compose.yml
├── go.mod
├── go.sum
├── main.go
├── one-api.service
├── pull_request_template.md
└── ...
主要文件和目录介绍:
Dockerfile
: 用于构建 Docker 镜像的文件。LICENSE
: 项目的开源许可证。README.en.md
,README.ja.md
,README.md
: 项目的说明文档,分别支持英文、日文和中文。VERSION
: 项目的版本信息。docker-compose.yml
: 用于 Docker Compose 的配置文件。go.mod
,go.sum
: Go 语言的依赖管理文件。main.go
: 项目的启动文件。one-api.service
: 用于 systemd 的服务配置文件。pull_request_template.md
: 拉取请求的模板文件。
2. 项目的启动文件介绍
项目的启动文件是 main.go
。这个文件包含了项目的入口点,负责初始化配置、启动服务器等核心功能。
main.go
主要功能:
- 初始化日志系统
- 加载配置文件
- 启动 HTTP 服务器
- 处理各种路由和请求
3. 项目的配置文件介绍
项目的配置文件主要是通过环境变量进行设置。以下是一些关键的环境变量及其作用:
关键环境变量:
SQL_DSN
: 数据库连接字符串,支持 MySQL 和 PostgreSQL。REDIS_CONN_STRING
: Redis 连接字符串,用于缓存。SESSION_SECRET
: 会话密钥,用于保持用户登录状态。THEME
: 主题设置,默认为default
。
配置示例:
SQL_DSN=root:123456@tcp(localhost:3306)/oneapi
REDIS_CONN_STRING=redis://default:redispw@localhost:49153
SESSION_SECRET=random_string
THEME=default
通过设置这些环境变量,可以灵活地配置 One API 项目的行为和功能。