TTAutoDeploy - TeamTalk 一键部署方案


GPL
Linux
SHELL

软件简介

TeamTalk 整套服务提供模块部署脚本和一键部署方案,主要模块有JDK,NGINX,PHP,PERCONA(MYSQL),
REDIS,IM_WEB,IM_DB_PROXY,IM_SERVER,其中IM_WEB,IM_DB_PROXY,IM_SERVER为自主开发模块,其余
均为开源解决方案,各个模块需要手动改动的地方如下:

JDK:

无需改动

NGINX:

无需改动

PHP:

在conf目录下包含两个配置文件 php-fpm.conf php.ini, 可以自行进行优化配置, 也可以选择不改动
这两个文件

PERCONA(MYSQL):

在安装脚本setup.sh中默认设置了PERCONA root用户的初始密码为12345,可以修改“MYSQL_PASSWORD=12345”
对密码进行重设,一旦对密码进行更改,需要同时在IM_WEB与IM_DB_PROXY中进行更改,详见IM_WEB和IM_DB_PROXY
配置说明。
如果使用的是已存在的percona或者mysql,可以直接使用"mysql -u $USER -p$PASSWORD < macim.sql"进行库与表的创建。

REDIS:

在conf目录下包含了redis.conf的配置文件, 可以自行进行优化配置,也可以选择不改动这个文件

IM_WEB:

在conf目录下包含了db.php和im.com.conf两个配置文件,其中im.com.conf为NGINX所需要的配置文件,建议不
改动;db.php文件主要配置了链接PERCONA所需要的参数,根据自己的需求修改'connectionString','username',
'password'这三个参数。
如果使用的是现有的nginx+php环境,可以修改setup.sh中的 PHP_WEB_SETUP_PATH为nginx放置web代码的路径,
并且将PHP_NGINX_CONF_PATH修改为nginx配置文件的路径然后执行setup.sh脚本即可

IM_DB_PROXY:

在安装配置脚本setup.sh中, DB_PROXY的默认监听Port设置为11000,如果被更改需要同时对IM_SERVER中的配
置进行更改,详见IM_SERVER配置说明;在conf目录下,包含了cache-online.properties和db-online.properties
两个配置文件,其中cache-online为REDIS的配置参数,db-online为PERCONA的配置参数,若PERCONA进行过更改,则改
成对应的链接参数即可

IM_SERVER:

IM_SERVER下共有5种服务器,所以也需要对这些服务器进行分别配置

1.LOGIN_SERVER: 
ClientListenIP为用于Client端监听的本地地址
MsgServerListenIP为用于Msg Server端监听的本地地址

2.MSG_SERVER: 
ListenIP为本机监听的IP,用于Client端的消息收发; 
HttpListenIP监听的IP、Port用于IM_WEB创建固定群通知,可以在IM_WEB配置此处监听的IP、Port
DBServerIP用于链接DB_PROXY,此处至少填两个数据库地址,也可以是同一个实例
LoginServerIP用于链接LoginServer
RouteServerIP用于链接RouteServer
FileServerIP用于链接FileServer
IpAddr填写的是Client端可以直接访问的地址,对于需要公网访问的情况下,如果是路由器映射,则需要填路由器
映射在公网上的地址;此处需要填写两个Client端可以访问的地址,如果只有一个,则填写相同的地址即可

3.ROUTE_SERVER: 
根据说明配置需要监听的对应IP Port即可

4.FILE_SERVER: 
ListenIP为本机监听的IP
Address为Client端可以直接可以访问的IP地址,对于需要公网访问的情况下,如果是路由器映射,则需要填路由器
映射在公网上的地址

5.MSFS_SERVER: 
ListenIP和Port填写的是监听的本地IP, BaseDir为默认保存图片文件的路径,如有必要可以更改

一键部署:

"强烈建议"选择一台未安装过的NGINX,PHP,MySQL,JDK,REDIS,并且OS为CentOS 6.X,在安装之前可以先执行
"setup.sh check"命令进行上述环境的检查。检查通过后对各个模块进行一些配置文件的设置,其中主要设置
的为IM_SERVER中的几个服务器地址设置,设置完成后运行"setup.sh install"

模块部署:

TeamTalk的各模块支持安装到不同的服务器上,所以部署可以根据自己的需要进行模块安装,主要修改的地方即为
上述各个模块中的IP地址设置。根据自己的网络拓扑在conf文件夹下的各个配置文件中预先设置正确的IP地址,
然后执行模块内的"setup install"即可

IM_SERVER与IM_DB_PROXY架构图如下: