# goServer **Repository Path**: cgq666/go-server ## Basic Information - **Project Name**: goServer - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-27 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 配置说明 项目支持通过环境变量或 `.env` 文件进行配置。 ### 方式一:使用环境变量(推荐,生产环境) 直接设置环境变量: ```bash export DB_HOST=192.168.0.146 export DB_PORT=3306 export DB_USER=root export DB_PASSWORD=your_password export DB_NAME=go_app export SERVER_PORT=8000 export JWT_SECRET=your_secret_key ``` ### 方式二:使用 .env 文件(开发环境) 1. 复制示例配置文件: ```bash cp .env.example .env ``` 2. 编辑 `.env` 文件,修改为你的配置 3. 运行程序,会自动读取 `.env` 文件 ### 配置项说明 | 环境变量 | 说明 | 默认值 | |---------|------|--------| | `DB_HOST` | 数据库主机地址 | `192.168.0.146` | | `DB_PORT` | 数据库端口 | `3306` | | `DB_USER` | 数据库用户名 | `root` | | `DB_PASSWORD` | 数据库密码 | `805696667` | | `DB_NAME` | 数据库名称 | `go_app` | | `DB_CHARSET` | 数据库字符集 | `utf8mb4` | | `DB_MAX_OPEN_CONNS` | 最大打开连接数 | `100` | | `DB_MAX_IDLE_CONNS` | 最大空闲连接数 | `20` | | `DB_CONN_MAX_LIFETIME` | 连接最大生命周期(秒) | `300` | | `DB_CONN_MAX_IDLE_TIME` | 连接最大空闲时间(秒) | `60` | | `SERVER_PORT` | 服务器端口 | `8000` | | `GIN_MODE` | Gin 运行模式(debug/release/test) | `debug` | | `STATIC_PATH` | 静态文件路径 | `./public` | | `JWT_SECRET` | JWT 密钥 | `xiaocaiji` | | `JWT_EXPIRE_HOURS` | JWT Token 过期时间(小时) | `24` | **注意**:生产环境请务必修改 `JWT_SECRET` 和数据库密码! ## 运行 ### 1、运行 ```bash fresh # 或 go run main.go ``` ### 2、生成Swagger ```bash swag init ``` ## Docker 部署示例 ```dockerfile # Dockerfile FROM golang:1.25-alpine AS builder WORKDIR /app COPY . . RUN go build -o server . FROM alpine:latest WORKDIR /app COPY --from=builder /app/server . EXPOSE 8000 CMD ["./server"] ``` ```bash # 运行容器时传入环境变量 docker run -d \ -p 8000:8000 \ -e DB_HOST=mysql \ -e DB_USER=root \ -e DB_PASSWORD=your_password \ -e DB_NAME=go_app \ -e JWT_SECRET=your_production_secret \ your-image-name ```