From a251d521a1704cc80071e98abb5d16d4d9474b53 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Sat, 7 May 2022 19:52:18 +0800 Subject: [PATCH] set api ip in config --- cmd/open_im_api/main.go | 9 +++++++-- cmd/open_im_cms_api/main.go | 14 +++++++++----- cmd/open_im_demo/main.go | 9 ++++++++- config/config.yaml | 4 ++++ pkg/common/config/config.go | 12 ++++++++---- 5 files changed, 36 insertions(+), 12 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 48eff076d..c6fba662a 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -180,8 +180,13 @@ func main() { go apiThird.MinioInit() ginPort := flag.Int("port", 10002, "get ginServerPort from cmd,default 10002 as port") flag.Parse() - fmt.Println("start api server, port: ", *ginPort) - err := r.Run(":" + strconv.Itoa(*ginPort)) + address := "0.0.0.0:" + strconv.Itoa(*ginPort) + if config.Config.Api.ListenIP != "" { + address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) + } + address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) + fmt.Println("start api server, address: ", address) + err := r.Run(address) if err != nil { log.Error("", "run failed ", *ginPort, err.Error()) } diff --git a/cmd/open_im_cms_api/main.go b/cmd/open_im_cms_api/main.go index 59abada5f..6a0068195 100644 --- a/cmd/open_im_cms_api/main.go +++ b/cmd/open_im_cms_api/main.go @@ -7,6 +7,7 @@ import ( "fmt" "strconv" + "Open_IM/pkg/common/config" "github.com/gin-gonic/gin" ) @@ -14,10 +15,13 @@ func main() { gin.SetMode(gin.ReleaseMode) router := cms_api.NewGinRouter() router.Use(utils.CorsHandler()) - ginPort := flag.Int("port", 10006, "get ginServerPort from cmd,default 8000 as port") + ginPort := flag.Int("port", 10006, "get ginServerPort from cmd,default 10006 as port") flag.Parse() - fmt.Println("start cms api server, port: ", ginPort) - router.Run(":" + strconv.Itoa(*ginPort)) + address := "0.0.0.0:" + strconv.Itoa(*ginPort) + if config.Config.Api.ListenIP != "" { + address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) + } + address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort) + fmt.Println("start cms api server, address: ", address) + router.Run(address) } - -// diff --git a/cmd/open_im_demo/main.go b/cmd/open_im_demo/main.go index 4cfd4b552..c2ec21783 100644 --- a/cmd/open_im_demo/main.go +++ b/cmd/open_im_demo/main.go @@ -9,6 +9,7 @@ import ( "os" "strconv" + "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" "github.com/gin-gonic/gin" @@ -35,7 +36,13 @@ func main() { ginPort := flag.Int("port", 42233, "get ginServerPort from cmd,default 42233 as port") flag.Parse() fmt.Println("start demo api server, port: ", *ginPort) - err := r.Run(":" + strconv.Itoa(*ginPort)) + address := "0.0.0.0:" + strconv.Itoa(*ginPort) + if config.Config.Api.ListenIP != "" { + address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) + } + address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort) + fmt.Println("start demo api server address: ", address) + err := r.Run(address) if err != nil { log.Error("", "run failed ", *ginPort, err.Error()) } diff --git a/config/config.yaml b/config/config.yaml index c212a7002..3ea75b135 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -82,10 +82,13 @@ endpoints: api: openImApiPort: [ 10002 ] #api服务端口,默认即可,需要开放此端口或做nginx转发 + listenIP: 0.0.0.0 cmsapi: openImCmsApiPort: [ 10006 ] #管理后台api服务端口,默认即可,需要开放此端口或做nginx转发 + listenIP: 0.0.0.0 sdk: openImSdkWsPort: [ 10003 ] #jssdk服务端口,默认即可,项目中使用jssdk才需开放此端口或做nginx转发 + dataDir: [ ../db/sdk/ ] #对象存储服务,以下配置二选一,目前支持两种,腾讯云和minio,二者配置好其中一种即可(如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器) credential: #腾讯cos,发送图片、视频、文件时需要,请自行申请后替换,必须修改 tencent: @@ -640,6 +643,7 @@ notification: #是否启动demo,如果自身没有账号体系,设置为true demoswitch: true demo: + listenIP: 0.0.0.0 #demo对外服务端口,默认即可,需要开放此端口或做nginx转发 openImDemoPort: [ 10004 ] alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,必须修改 diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 5067ba4ec..972cf27c1 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -31,13 +31,16 @@ type config struct { ServerVersion string `yaml:"serverversion"` Api struct { - GinPort []int `yaml:"openImApiPort"` + GinPort []int `yaml:"openImApiPort"` + ListenIP string `yaml:"listenIP"` } CmsApi struct { - GinPort []int `yaml:"openImCmsApiPort"` + GinPort []int `yaml:"openImCmsApiPort"` + ListenIP string `yaml:"listenIP"` } Sdk struct { - WsPort []int `yaml:"openImSdkWsPort"` + WsPort []int `yaml:"openImSdkWsPort"` + DataDir []string `yaml:"dataDir"` } Credential struct { Tencent struct { @@ -395,7 +398,8 @@ type config struct { } `yaml:"workMomentsNotification"` } Demo struct { - Port []int `yaml:"openImDemoPort"` + Port []int `yaml:"openImDemoPort"` + ListenIP string `yaml:"listenIP"` AliSMSVerify struct { AccessKeyID string `yaml:"accessKeyId"` AccessKeySecret string `yaml:"accessKeySecret"`