package main import ( "cockData/server/api" "cockData/server/cache" "cockData/server/config" "cockData/server/log" "cockData/server/rdhttp" "cockData/server/sql" "fmt" "github.com/gin-gonic/gin" "io/ioutil" "os" "os/signal" ) // export RAGDOLL_CONFIG = 路径 func main() { fmt.Println("Ragdoll服务启动中...") configPath := os.Getenv("RAGDOLL_CONFIG") fmt.Println(fmt.Sprintf("配置文件路径%s", configPath)) config.InitRagdoll(configPath) // 初始化配置 config.InitMeta(configPath) // 初始化项目设置 log.Init(config.GetRagdollConfig().LoggerConfig) sql.Init(config.GetRagdollConfig().MySQLConfig) cache.Init(config.GetRagdollConfig().RedisConfig) log.Info("Ragdoll服务启动完毕...") rdhttp.InitHttp() sql.CreateTables() // 启动gin if config.GetRagdollConfig().MetaConfig.ServerDebug { gin.SetMode(gin.DebugMode) } else { gin.SetMode(gin.ReleaseMode) } gin.DefaultWriter = ioutil.Discard r := gin.Default() r.Use(api.Cors()) // 这句一定要在静态文件设置之前 //r.StaticFS("/static", http.Dir(config.GetRagdollConfig().MetaConfig.StaticDir)) api.InitGinRouter(r) log.Info("路由初始化完成...") log.Infof("启动监听,端口:%d", config.GetRagdollConfig().ServerPort) _ = r.Run(fmt.Sprintf(":%d", config.GetRagdollConfig().ServerPort)) quit := make(chan os.Signal, 1) signal.Notify(quit) <-quit }