main.go 999 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "github.com/runningwater/gohub/bootstrap"
  7. appConfig "github.com/runningwater/gohub/config"
  8. "github.com/runningwater/gohub/pkg/config"
  9. )
  10. func init() {
  11. // 加载 config 目录下的配置信息
  12. appConfig.Initialize()
  13. }
  14. func main() {
  15. // 配置初始化,依赖命令行 --env 参数
  16. var env string
  17. flag.StringVar(&env, "env", "", "加载.env 文件,如 --env=local, 加载的是 .env.local 文件")
  18. flag.Parse()
  19. config.InitConfig(env)
  20. // 初始化 Logger
  21. bootstrap.SetupLogger()
  22. // 初始化 DB
  23. // 注意: 初始化 DB 前应该先初始化 logger
  24. bootstrap.SetupDB()
  25. // 初始化 Redis
  26. bootstrap.SetupRedis()
  27. // gin 框架设置为发布模式,线上环境需要设置
  28. gin.SetMode(gin.ReleaseMode)
  29. // Gin 框架初始化
  30. r := gin.New()
  31. // 初始化路由绑定
  32. bootstrap.SetupRoute(r)
  33. err := r.Run(":" + config.Get("app.port"))
  34. if err != nil {
  35. fmt.Println("启动失败", err.Error())
  36. }
  37. }