openfire安装部署
openfire是免费的、开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。
openfire性能较高,集群后,可以无限扩展。代码结构设计很合理,插件式开发,扩展能力强。
一、下载并安装openfire
1、下载最新的openfire安装文件
官方下载站点:http://www.igniterealtime.org/downloads/index.jsp#openfire
linux版本下载地址: http://download.igniterealtime.org/openfire/openfire_4_2_3.tar.gz
可以直接通过命令获取:wget -c http://download.igniterealtime.org/openfire/openfire_4_2_3.tar.gz
2、解压安装包安装数据库
解压:tar -xvf openfire_4_2_3.tar.gz
3、安装openfire数据库
在openfire目录下:/openfire/resources/database/ 对应的数据库脚本。创建openfire数据库,执行对应的脚本。
4、启动获取停止
./openfire start |stop
5、访问http://IP:9090/
6、openfire配置
1)、选择语言 中文简体
1
image
2)、 配置服务器域名
image
如果你是本地访问,那么你可以不修改或是使用localhost、127.0.0.1的方式
如果你用于外网或局域网访问,那么你的地址配置成外网或局域网地址
3)、选择数据库
image
选择标准数据库连接,当然你也可以选择你的数据库类型。如Oracle、SQLServer、MySQL等。配置对应的数据库连接。
4)、选择特性配置,默认即可
image
5)、管理员邮件,可以跳过这步
image
6)、 安装完成,进入http://IP:9090/login.jsp页面后,输入admin、密码admin(默认)登陆进入
6、可以采用spak进行模拟测试
二、openfire集群
1、集群方案
使用Openfire的集群插件Hazelcast Clustering Plugin完成openfire的集群部署;并使用Nginx作为整个openfire集群的负责均衡服务器。
2、选择多台服务器继续openfire部署,参考一、下载并安装openfire
3、安装openfire集群的插件
用admin登录管理后台,进到插件->有效插件的页面,安装 Hazelcast Clustering Plugin 插件,可能需要几分钟的时间才安装好。
然后启动集群的功能
openfire集群完成
4.1、安装Nginx并配置作为整个openfire集群的负责均衡服务器
1)、安装nginx,自己百度
2)、进行配置文件配置
1
2
3
使用vi 编辑 /usr/local/nginx/conf/nginx.conf配置文件,将一下配置信息添加进去
stream {
upstream backend {
hash $remote_addr consistent;
server 192.168.0.7:5222 weight=5;
server 192.168.0.10:5222 weight=5;
}
server {
listen 5222;
proxy_connect_timeout 10s; #设置连接超时时长 必须
proxy_timeout 30s; #设置代理超时时长 必须
proxy_pass backend;
}
}
3)、nginx启动
新版本的nginx的启动命令:
/usr/local/nginx/sbin/nginx
关闭命令:
/usr/local/nginx/sbin/nginx -s stop
4.2、基于haproxy进行集群搭建
1)安装haproxy
wget http://fossies.org/linux/misc/haproxy-1.8.13.tar.gz
tar xzvf haproxy-1.8.13.tar.gz
make TARGET=generic
make install PREFIX=/usr/local/haproxy
进行haproxy.cnf配置
global
log 127.0.0.1 local2
chroot /usr/local/haproxy
pidfile /usr/local/haproxy/haproxy.pid
maxconn 4000
daemon
stats socket /usr/local/haproxy/stats
defaults
log global
mode tcp
retries 3
maxconn 40000
timeout connect 10000
timeout client 300000
timeout server 300000
listen xmpp-5222
bind :5222
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server web01 172.16.32.105:5222 check
server web02 172.16.32.91:5222 check
listen xmpp-5223
bind :5223
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server web01 172.16.32.105:5223 check
server web02 172.16.32.91:5223 check
listen xmpp-7070
bind :7070
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server web01 172.16.32.105:7070 check
server web02 172.16.32.91:7070 check
listen xmpp-7443
bind :7443
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server web01 172.16.32.105:7443 check
server web02 172.16.32.91:7443 check
listen xmpp-9090
bind :9090
cookie SERVERID insert indirect nocache
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server web01 172.16.32.105:9090 cookie app1inst1 check inter 2000 rise 2 fall 5
server web02 172.16.32.91:9090 cookie app1inst2 check inter 2000 rise 2 fall 5
启动haproxy -f haproxy.cnf
启动完成之后即可看到负载均衡服务器监听了5222的tcp端口,openfire的客户端连接此端口进行通信。
5、接下来我们使用Openfire官方提供的xmpp客户端软件Spark来与这个Openfire集群进行通讯,以测试集群环境是否ok