一:Java运行环境(已安装 则可跳过此步骤)
二:数据库(之前已安装 则可跳过此步骤)
数据库可以使用DB2,Oracle,MySQL,PostgreSQL,SQL Server等其中任意一种。
安装前准备工作完成后:
一:建立数据库
a.建立数据库,记下数据库名,如OpenfireServer。
b.在数据库管理系统下建立新用户,如OpenfireUser。
选择SQL server身份验证,把强制密码过期的勾去掉,只勾上强制实施密码策略。
在下面的数据库下拉列表中选择OpenfireServer,然后确定即可。
c.然后在OpenfireServer数据库目录下,在其安全性中,新建一个用户,用户名任取。
登录名 选择上面创建的OpenfireUser,架构 选择 db_owner,数据库角色成员身份选择db_owner,
二:安装Openfire
a.到官方下载最新版的Openfire安装包
b.双击Openfire安装包开始安装
安装完毕后,会有提示框提示 是否登录,此时先放着不动
三:执行数据库脚本
a.到Openfire安装目录下:如D:\Program Files\Openfire\resources\database
下面有几个数据库的SQL脚本,直接拖动到SQL Server Studio中执行,
执行前确保 可用数据库下拉列表 选中的是OpenfireServer。
b.接着连接对象资源管理器,使用SQL Server身份验证方式,输入用户名OpenfireUser,密码
尝试进行登录操作。若成功登陆,则证明数据库建立成功。
四:首次设置Openfire
a.点击Openfire提示框中Launch Admin 按钮,进入首次设置页面
b.语言 选择 简体中文
数据库 选择 标准数据库连接
选择相应的数据库驱动类型;URL一栏中,把[hostname]改成当前的主机名;
把[database]改成数据库名OpenfireServer;接着分号后面的Appname全部去掉;
点击 continue ,设置密码——>>结束
五:重启Openfire
然后登录管理页面,进行Openfire管理。
至此,恭喜您,Openfire部署安装完成。
在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面。(1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间。
(2)短信方面
以前我们是用亿美软通的短信服务,但在三大运营商收紧了短信服务后,亿美软通的短信延迟非常厉害,后来我们找到了这家短信服务商 http://luosimao.com,这家发送短信到联通,电信,移动手机很快就到了(直到2014.01.24)。
如果发送到移动的短信还没有改善,最后的后备方案:发送到联通,电信的短信使用国内的服务商,发送到移动的短信就只能使用国外的短信服务商(国外发短信到移动手机3毛一条,好贵啊!!!)
注:现在sharesdk提供了免费的短信验证码服务( http://mob.com/sms ),试运营期间为开发者提供每个App每天10000条免费短信验证。
(3)邮件
在一开始时使用服务器自身的postfix发送邮件的,但我们发现邮件被很多邮件服务商当成垃圾邮件了,而且没有重发机制,不能保证邮件的准确到达。
后来查了一下各大网站,发现知乎和github 都是使用 http://www.mailgun.com/ 的邮件服务,看了一下文档,价格很公道,而且每月有1万封的免费邮件额度,非常适合创业型的公司。
(4)推送服务
在这方面,我考虑的重点是:在创业初期,能用第三方就尽可能多使用第三方的服务,自身只处理业务逻辑本身,快速的开发产品。
android篇:
android方面,我们使用过3种消息推送机制:
1.极光推送,现在放弃了。我们使用的过程中,发现极光的机制有点古怪,一般来说,一个app在极光服务器中是固定一个id,但在极光中是通过广播来通知app这个id,而且在文档中居然说明这个id会不定期变化。
2.openfire服务器。app通过连接openfire服务器来获取各种消息,但是openfire有个机制,当app连接openfire后空闲就自动断开,没法保持连接的的稳定性,而修改这个openfire的机制成本太高了,后来也放弃使用openfire。
3.百度推送。已现在使用一段时间的情况来说,推送及时快速,挺满意百度的推送服务。
iphone篇:
apns是iphone推送的不二选择。但如果自身开发apns的服务,会遇到无效token而需要重发,这样需要维护一个队列并建立重发机制,考虑到项目的时间和研发成本,最后也是使用了百度推送的服务。
当用户在iphone上卸载了app后,device token会失效,所以应该定期访问苹果的feedback服务器,把无效的token去掉。
大家可以去openfire官网下载最新的openfire、spark 安装包,速度相当的慢,本是下载完上传到csdn的,不知为何没有发布成功。我是用可执行文件安装的,“下一步,下一步”就行了。装完后启动openfire,开始配置,步骤如下
a. 点击Launch Admin
b. 选择语言
c. 配置域名,根据路径找到这个文件,打开编辑,设置自己想要的域名
d. 设置数据库,我这里用的是MySql,官网下载个MySql要填一大堆东西,OMG!
当然你选择的数据库是要存在的,比如我这里创建的openfire
e. 特性设置用默认
f. 配置的最后一步,设置管理员账号、密码,登录要用的
=======================================================================
现在可以登录进管理控制台了,当然有可能遇见登录不进去的状况,提示密码错误了
当然你控制着数据库,这个到数据库openfire 的ofuser表里面改下就可以了,以下是ofuser的信息:
我们可以把painPassword设为"123456", encripterPassword设为null(这个null不是字符串哦,空),重新启动下openfire就可以了。
=======================================================================
让我的客户端连接服务器吧,spark上传咯。服务器也可以写你先前设置的域名的哦
服务器端就可以看见admin在线了
给所有客户打个招呼赛
也是可以创建更多小伙伴的,用户名即是登录名 比如:
配置过程中还遇到问题:
couldn't setup local SOCKS5 proxy on port 7777
只需要找到smack里的config.xml在其中把端口改掉就可以
好了, openfire服务器的搭建告一段落了.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)