在csdn和javaeye阅读了无数的技术博客,每一篇都让本人受益匪浅,当然时间久了,很多也都忘了,呵呵。于是从现在开始自己也尝试着写技术博客,把自己工作与生活遇到的点滴分享给大家,也希望大家阅读了我的博客也能有点滴的收获,那都是对本人最大的鼓励,哈哈! 扯淡的话先不多说,现在正式开始了,哈哈!相信很多具有即时通讯功能的项目在架构时,都会了解到Openfire,当然很多有米的公司是直接使用一些服务商提供的即时通讯系统,如环信等。简简单单来了解下Openfire,Openfire就是实现了XMPP通讯协议的开源即时通讯系统,基于java实现,部署简单,稳定高效,社区活跃,集群方案较成熟、基于插件的扩展性也是相当令人称赞,项目的维护者是相当得负责任,现在也是不断地更新版本中。咋一说,赶紧去Openfire的官网瞄一眼,版本已经更新到4.0.1了!天啊噜,版本帝,您可别太快啊,公司的项目跟不上您的升级步伐啊….好吧,我们还在用着旧版本…现在开始我们的正题吧,一起来实现Openfire的集群部署。 Openfire集群部署方案使用Openfire的集群插件Hazelcast Clustering Plugin完成openfire的集群部署;并使用Nginx作为整个openfire集群的负责均衡服务器。 集群部署服务器信息我们这次部署的服务器信息如下,这几台服务器都是在同一个局域网下。当然我没这么多物理机器了,CentOS6.5的服务器都是我安装的虚拟机,你懂得… 我们将把两台Openfire的服务器做一个集群;当前还部署了一台前端的负载均衡服务器。这样APP客户端主要与负载均衡服务器通讯即可。 集群部署网络拓扑图接下来看看我们这次集群部署的网络拓扑图,您会一目了然的,我相信是那样的…. 部署步骤服务器中Jdk、mysql的安装及配置步骤在此省略,大家可以去度娘哦… 1.安装openfire服务器及集群配置在服务器192.168.0.7和192.168.0.10安装openfire服务器,两台服务器的安装步骤基本一致。注意,由于我们安装的是最新的openfiref服务器版本openfire_3_10_2.tar.gz(也许现在不是最新了),此版本需要jdk的版本在jdk7及以上,因此服务器得先安装jdk7;jdk的安装在此略过,请参考相关文献。 1.1.下载openfire在openfire官网下载最新的安装包,由于我们安装在linux系统,请下载openfire_3_10_2.tar.gz这个安装包。 1.2.解压openfire即可openfire_3_10_2.tar.gz放在目录/usr/local下 这样在/usr/local目录下即可看到加压后的openfire目录 Openfire解压即可用,简单方便。 1.3.建立openfire数据库表结构进入/usr/local/openfire/resources/database目录,拷贝openfire使用的数据库文件生成数据库表信息,在我们此次部署中,在192.168.0.132的mysql服务器中建立一个名为openfire的数据库,并使用此文件生成数据库的表结果和初始化数据。 1.4.配置openfireOpenfire安装完成之后,就可启动openfire,并开始配置。 Openfire启动完成之后,使用浏览器通过openfire的管理后台开始配置界面,openfire的管理后台默认的端口是9090;下面按步骤配置Openfire: 选择中文,下一步 Openfire的集群所有的节点配置的数据库只能是标准的数据库,不能是openfire自带的数据库。下一步 数据库使用mysql数据库,在此配置是的192.168.0.132这个服务器上的mysql数据库,数据库名是openfire.集群中所有的节点的配置是一样的,使用同一个数据库。 修改管理员的密码,集群中的节点配置这一步时,只需修改一次即可,因为所有的节点使用的是同一套数据库。 配置完成之后,重启openfire服务器,这样服务器监听的所有端口才会全部起来。Openfire重启之后,使用admin账号重新登录管理后台,即可看到所有的服务端口已经起来。 自此,openfire的安装及初始配置完成。集群所有的节点的配置基本一致。 1.5.安装openfire集群的插件使用admin登录管理后台,进到插件->有效插件的页面,安装 安装完成之后可在插件列表看到已安装的插件 然后启动集群的功能,页面提示需要30秒左右的时间,但是实际测试10分钟都没完成,由于人与人之间信任已经完全没有了,等了10多分钟之后只有重启openfire;重启时发现openfire还不能正常关闭,只好强制kill掉openfire的进程,泪崩…… 重启openfire(kill掉进程) Openfire重启完成了,openfire集群完成,恭喜您! 可以看到目前的集群有两个节点! 2.安装Nginx并配置作为整个openfire集群的负责均衡服务器参考文献:http://www./Linux/2015-09/122943.htm 2.1.使用tar 命令解压项目文件:tar -zxvf nginx-1.9.3.tar.gz2.2.进入解压后的项目跟路径下,重新编译项目./configure –prefix=/usr/local/nginx –with-stream 2.3.使用make、make install 命令进行安装先执行make命令,然后执行make install命令 2.4.修改配置使用vi 编辑 /usr/local/nginx/conf/nginx.conf配置文件,将一下配置信息添加进去 2.5.启动nginx最新版本的nginx的启动命令: 启动完成之后即可看到负载均衡服务器监听了5222的tcp端口,openfire的客户端连接此端口进行通信。 3.使用Spark软件连接负载均衡服务器进行openfire通信接下来我们使用Openfire官方提供的xmpp客户端软件Spark来与这个Openfire集群进行通讯,以测试集群环境是否ok。 注意我们连接是负载均衡的服务器,可以登录进去! ! 说明是登陆成功的,能成功进行通讯。 然后我们进到其中一台openfire节点的管理控制台,查看会话信息,可看到当前会话列表的信息。 至此,整个Openfire的集群环境安装部署完毕,亲测可行!希望对大家有所帮助! |
|