main.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package main
  2. import (
  3. "cockData/server/api"
  4. "cockData/server/cache"
  5. "cockData/server/config"
  6. "cockData/server/log"
  7. "cockData/server/rdhttp"
  8. "cockData/server/sql"
  9. "fmt"
  10. "github.com/gin-gonic/gin"
  11. "io/ioutil"
  12. "os"
  13. "os/signal"
  14. )
  15. // export RAGDOLL_CONFIG = 路径
  16. func main() {
  17. fmt.Println("Ragdoll服务启动中...")
  18. configPath := os.Getenv("RAGDOLL_CONFIG")
  19. fmt.Println(fmt.Sprintf("配置文件路径%s", configPath))
  20. config.InitRagdoll(configPath) // 初始化配置
  21. config.InitMeta(configPath) // 初始化项目设置
  22. log.Init(config.GetRagdollConfig().LoggerConfig)
  23. sql.Init(config.GetRagdollConfig().MySQLConfig)
  24. cache.Init(config.GetRagdollConfig().RedisConfig)
  25. log.Info("Ragdoll服务启动完毕...")
  26. rdhttp.InitHttp()
  27. sql.CreateTables()
  28. // 启动gin
  29. if config.GetRagdollConfig().MetaConfig.ServerDebug {
  30. gin.SetMode(gin.DebugMode)
  31. } else {
  32. gin.SetMode(gin.ReleaseMode)
  33. }
  34. gin.DefaultWriter = ioutil.Discard
  35. r := gin.Default()
  36. r.Use(api.Cors()) // 这句一定要在静态文件设置之前
  37. //r.StaticFS("/static", http.Dir(config.GetRagdollConfig().MetaConfig.StaticDir))
  38. api.InitGinRouter(r)
  39. log.Info("路由初始化完成...")
  40. log.Infof("启动监听,端口:%d", config.GetRagdollConfig().ServerPort)
  41. _ = r.Run(fmt.Sprintf(":%d", config.GetRagdollConfig().ServerPort))
  42. quit := make(chan os.Signal, 1)
  43. signal.Notify(quit)
  44. <-quit
  45. }