2019-08-16

搭建 teamtalk 服务器

(三)配置文件 修改im配置

网络配置说明文件 INSTALL.md


image.png

配置文件所在目录

image.png

常见部署方案

假设所有服务都部署在一台机器上

1.纯公司内网

安装的机器内网ip为: 192.168.1.2

login_server:

ClientListenIP=192.168.1.2      
ClientPort=8008
HttpListenIP=192.168.1.2
HttpPort=8080
MsgServerListenIP=192.168.1.2   
MsgServerPort=8100
msfs=http://192.168.1.2:8700/
discovery=http://192.168.1.2/api/discover

msg_server:

ListenIP=192.168.1.2
ListenPort=8000

ConcurrentDBConnCnt=2
DBServerIP1=192.168.1.2
DBServerPort1=10600
DBServerIP2=192.168.1.2
DBServerPort2=10600

LoginServerIP1=192.168.1.2
LoginServerPort1=8100

RouteServerIP1=192.168.1.2
RouteServerPort1=8400

PushServerIP1=192.168.1.2
PushServerPort1=8500

FileServerIP1=192.168.1.2
FileServerPort1=8600

IpAddr1=192.168.1.2     
IpAddr2=192.168.1.2     
MaxConnCnt=100000

route_server:

ListenIP=192.168.1.2            
ListenMsgPort=8400

msfs_server:

ListenIP=192.168.1.2        
ListenPort=8600
BaseDir=./tmp
FileCnt=0
FilesPerDir=30000
GetThreadCount=32
PostThreadCount=我们为您提供

file_server:

Address=192.168.1.2 
ListenPort=8500         
TaskTimeout=60        

db_proxy:

ListenIP=192.168.1.2    
ListenPort=10600
ThreadNum=48        # double the number of CPU core
MsfsSite=192.168.1.2    

#configure for mysql
DBInstances=teamtalk_master,teamtalk_slave
#teamtalk_master
teamtalk_master_host=127.0.0.1
teamtalk_master_port=3306
teamtalk_master_dbname=teamtalk
teamtalk_master_username=root
teamtalk_master_password=12345
teamtalk_master_maxconncnt=16

#teamtalk_slave
teamtalk_slave_host=127.0.0.1
teamtalk_slave_port=3306
teamtalk_slave_dbname=teamtalk
teamtalk_slave_username=root
teamtalk_slave_password=12345
teamtalk_slave_maxconncnt=16


#configure for unread
CacheInstances=unread,group_set,token,sync,group_member
#未读消息计数器的redis
unread_host=127.0.0.1
unread_port=6379
unread_db=我们为您提供
unread_maxconncnt=16

#群组设置redis
group_set_host=127.0.0.1
group_set_port=6379
group_set_db=2
group_set_maxconncnt=16

#同步控制
sync_host=127.0.0.1
sync_port=6379
sync_db=3
sync_maxconncnt=我们为您提供

#deviceToken redis
token_host=127.0.0.1
token_port=6379
token_db=4
token_maxconncnt=16

#GroupMember
group_member_host=127.0.0.1
group_member_port=6379
group_member_db=5
group_member_maxconncnt=48

http_msg_server:

ListenIP=192.168.1.2
ListenPort=8400

ConcurrentDBConnCnt=4
DBServerIP1=192.168.1.2
DBServerPort1=10600
DBServerIP2=192.168.1.2
DBServerPort2=10600

RouteServerIP1=192.168.1.2
RouteServerPort1=8200
#RouteServerIP2=localhost   
#RouteServerPort2=8201

push_server:

ListenIP=192.168.1.2
ListenPort=8500

CertPath=apns-dev-cert.pem
KeyPath=apns-dev-key.pem
KeyPassword=好像有点感冒咳嗽的感觉……在线的人数越来越多,不想和你说什么话可以理解别人了,我要把所有事情交给别人掌控一切……………………好想好想睡@mogujie

#SandBox
#1: sandbox 0: production
SandBox=0   

2.公网ip

安装的机器为多网卡,包含内网网卡和公网网卡
内网ip为:192.168.1.2
公网ip为122.222.222.222

login_server:

ClientListenIP=122.222.222.222      
ClientPort=8008
HttpListenIP=122.222.222.222    
HttpPort=8080
MsgServerListenIP=192.168.1.2   
MsgServerPort=8100
msfs=http://122.222.222.222 :8700/
discovery=http://122.222.222.222/api/discover

msg_server:

ListenIP=122.222.222.222
ListenPort=8000

ConcurrentDBConnCnt=2
DBServerIP1=192.168.1.2
DBServerPort1=10600
DBServerIP2=192.168.1.2
DBServerPort2=10600

LoginServerIP1=192.168.1.2
LoginServerPort1=8100

RouteServerIP1=192.168.1.2
RouteServerPort1=8400

PushServerIP1=192.168.1.2
PushServerPort1=8500

FileServerIP1=192.168.1.2
FileServerPort1=8600

IpAddr1=122.222.222.222     
IpAddr2=122.222.222.222     
MaxConnCnt=100000

route_server:

ListenIP=192.168.1.2            
ListenMsgPort=8400

msfs_server:

ListenIP=192.168.1.2;122.222.222.222        
ListenPort=8600
BaseDir=./tmp
FileCnt=0
FilesPerDir=30000
GetThreadCount=32
PostThreadCount=我们为您提供

file_server:

Address=122.222.222.222 
ListenPort=8500         
TaskTimeout=60        

db_proxy:

ListenIP=192.168.1.2    
ListenPort=10600
ThreadNum=48        # double the number of CPU core
MsfsSite=192.168.1.2    

#configure for mysql
DBInstances=teamtalk_master,teamtalk_slave
#teamtalk_master
teamtalk_master_host=127.0.0.1
teamtalk_master_port=3306
teamtalk_master_dbname=teamtalk
teamtalk_master_username=root
teamtalk_master_password=12345
teamtalk_master_maxconncnt=16

#teamtalk_slave
teamtalk_slave_host=127.0.0.1
teamtalk_slave_port=3306
teamtalk_slave_dbname=teamtalk
teamtalk_slave_username=root
teamtalk_slave_password=12345
teamtalk_slave_maxconncnt=16


#configure for unread
CacheInstances=unread,group_set,token,sync,group_member
#未读消息计数器的redis
unread_host=127.0.0.1
unread_port=6379
unread_db=我们为您提供
unread_maxconncnt=16

#群组设置redis
group_set_host=127.0.0.1
group_set_port=6379
group_set_db=2
group_set_maxconncnt=16

#同步控制
sync_host=127.0.0.1
sync_port=6379
sync_db=3
sync_maxconncnt=我们为您提供

#deviceToken redis
token_host=127.0.0.1
token_port=6379
token_db=4
token_maxconncnt=16

#GroupMember
group_member_host=127.0.0.1
group_member_port=6370
group_member_db=5
group_member_maxconncnt=48

http_msg_server:

ListenIP=192.168.1.2
ListenPort=8400

ConcurrentDBConnCnt=4
DBServerIP1=192.168.1.2
DBServerPort1=10600
DBServerIP2=192.168.1.2
DBServerPort2=10600

RouteServerIP1=192.168.1.2
RouteServerPort1=8200
#RouteServerIP2=localhost   
#RouteServerPort2=8201

push_server:

ListenIP=192.168.1.2
ListenPort=8500

CertPath=apns-dev-cert.pem
KeyPath=apns-dev-key.pem
KeyPassword=xxxxxxxx

#SandBox
#1: sandbox 0: production
SandBox=0   

3.公网ip,路由器映射

此种情况请确保在内网下可以访问路由器映射的外网ip
安装的机器为单网卡,外网由路由器映射
内网ip为: 192.168.1.2
路由器映射的公网ip为: 122.222.222.222

login_server:

ClientListenIP=192.168.1.2      
ClientPort=8008
HttpListenIP=192.168.1.2
HttpPort=8080
MsgServerListenIP=192.168.1.2   
MsgServerPort=8100
msfs=http://122.222.222.222 :8700/
discovery=http://122.222.222.222/api/discover

msg_server:

ListenIP=192.168.1.2
ListenPort=8000

ConcurrentDBConnCnt=2
DBServerIP1=192.168.1.2
DBServerPort1=10600
DBServerIP2=192.168.1.2
DBServerPort2=10600

LoginServerIP1=192.168.1.2
LoginServerPort1=8100

RouteServerIP1=192.168.1.2
RouteServerPort1=8400

PushServerIP1=192.168.1.2
PushServerPort1=8500

FileServerIP1=192.168.1.2
FileServerPort1=8600

IpAddr1=122.222.222.222     
IpAddr2=122.222.222.222     
MaxConnCnt=100000

route_server:

ListenIP=192.168.1.2            
ListenMsgPort=8400

msfs_server:

ListenIP=192.168.1.2        
ListenPort=8600
BaseDir=./tmp
FileCnt=0
FilesPerDir=30000
GetThreadCount=32
PostThreadCount=我们为您提供

file_server:

Address=122.222.222.222 
ListenPort=8500         
TaskTimeout=60        

db_proxy:

ListenIP=192.168.1.2    
ListenPort=10600
ThreadNum=48        # double the number of CPU core
MsfsSite=192.168.1.2    

#configure for mysql
DBInstances=teamtalk_master,teamtalk_slave
#teamtalk_master
teamtalk_master_host=127.0.0.1
teamtalk_master_port=3306
teamtalk_master_dbname=teamtalk
teamtalk_master_username=root
teamtalk_master_password=12345
teamtalk_master_maxconncnt=16

#teamtalk_slave
teamtalk_slave_host=127.0.0.1
teamtalk_slave_port=3306
teamtalk_slave_dbname=teamtalk
teamtalk_slave_username=root
teamtalk_slave_password=12345
teamtalk_slave_maxconncnt=16


#configure for unread
CacheInstances=unread,group_set,token,sync,group_member
#未读消息计数器的redis
unread_host=127.0.0.1
unread_port=6379
unread_db=我们为您提供
unread_maxconncnt=16

#群组设置redis
group_set_host=127.0.0.1
group_set_port=6379
group_set_db=2
group_set_maxconncnt=16

#同步控制
sync_host=127.0.0.1
sync_port=6379
sync_db=3
sync_maxconncnt=我们为您提供

#deviceToken redis
token_host=127.0.0.1
token_port=6379
token_db=4
token_maxconncnt=16

#GroupMember
group_member_host=127.0.0.1
group_member_port=6379
group_member_db=5
group_member_maxconncnt=48

http_msg_server:

ListenIP=192.168.1.2
ListenPort=8400

ConcurrentDBConnCnt=4
DBServerIP1=192.168.1.2
DBServerPort1=10600
DBServerIP2=192.168.1.2
DBServerPort2=10600

RouteServerIP1=192.168.1.2
RouteServerPort1=8200
#RouteServerIP2=localhost   
#RouteServerPort2=8201

push_server:

ListenIP=192.168.1.2
ListenPort=8500

    //苹果推送p12文件
CertPath=apns-dev-cert.pem
    //苹果推送p12文件密码路径?
KeyPath=apns-dev-key.pem
    //苹果推送p12文件 解压密码
KeyPassword=xxxxxx

#SandBox
#1: sandbox 0: production
SandBox=0   

修改web的配置

修改web的配置


image.png
>$config['msfs_url'] = 'http://msfs.teamtalk.im:8700/';
>$config['http_url'] = 'http://10.11.5.171:8400';

修改数据库参数 保存退出


image.png
安装PB
wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
tar -zxvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1
./configure --prefix=/usr/local/protobuf
 make -j 2 && make install
编译安装

monTalkServer 服务器目录

cd ~
mkdir -p /root/monTalkServer/server/src/base/pb/lib/linux/
mkdir -p /root/monTalkServer/server/src/base/pb/protocol
cp /usr/local/protobuf/lib/libprotobuf-lite.a /root/monTalkServer/server/src/base/pb/lib/linux/
cp  -r /usr/local/protobuf/include/* /root/monTalkServer/server/src/base/pb/
生成pb协议
cd /root/monTalkServer/pb
export PATH=$PATH:/usr/local/protobuf/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
sh create.sh
sh sync.sh
9安装依赖
cd /root/monTalkServer/server/src
sh make_log4cxx.sh
sh make_hiredis.sh

报错
‘void log4cxx::spi::LocationInfo::write(log4cxx::helpers::ObjectOutputStream&, log4cxx::helpers::Pool&) const’:
locationinfo.cpp:163:21: error: narrowing conversion of ‘237’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
0x78, 0x70 };
^
locationinfo.cpp:163:21: error: narrowing conversion of ‘153’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
locationinfo.cpp:163:21: error: narrowing conversion of ‘187’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
locationinfo.cpp:163:21: error: narrowing conversion of ‘225’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
locationinfo.cpp:163:21: error: narrowing conversion of ‘145’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
locationinfo.cpp:163:21: error: narrowing conversion of ‘165’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
make[3]: *** [locationinfo.lo] 错误 1
make[3]: 离开目录“/root/monTalkServer/server/src/log4cxx/apache-log4cxx-0.10.0/src/main/cpp”
make[2]: *** [install-recursive] 错误 1
make[2]: 离开目录“/root/monTalkServer/server/src/log4cxx/apache-log4cxx-0.10.0/src/main”
make[1]: *** [install-recursive] 错误 1
make[1]: 离开目录“/root/monTalkServer/server/src/log4cxx/apache-log4cxx-0.10.0/src”
make: *** [install-recursive] 错误 1
cp: 无法获取"log4cxx/include" 的文件状态(stat): 没有那个文件或目录
cp: 无法获取"log4cxx/lib/liblog4cxx.so*" 的文件状态(stat): 没有那个文件或目录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352