XMPP之tigase源码部署

来源:互联网 发布:淘宝卖的好的飞机杯 编辑:程序博客网 时间:2024/04/30 09:07
推送服务想必大家都在使用,一个手机软件如果没有推送可想他的消息的及时性是多么的让人不可忍受,最开始android使用的是极光的推送,效率不错,只是免费用户的每分钟的量太少了上线不长时间就达不到要求了(创业公司省钱是第一位的XMPP之tigase源码部署),再后来我们使用了百度云推送,上线有小半年现在也不成了,出现了消息的延迟(小范围的,但是对应于一个交友应用这是非常严重的,我们网址:http://www.beiyingmeinv.com),于是我们改用xmpp协议,tigase单机50W在线的架构非常的适合我们现在和将来的业务需求因此我们大胆的尝试改用tigase,之所以说大胆是说tigase现在的高质量文档真心的不多XMPP之tigase源码部署
我们的需求需要修改tigase的部分源码,所以呢当然要让源码在我们的机器上跑起来才成啊,不是很复杂的,开始了...

环境  eclipse + jdk 1.7(最低)
准备 eclipse maven插件(必须)+maven客户端(配置自己的本地仓库)
源码下载页面:https://projects.tigase.org/projects/tigase-server/repository
使用git工具(安装很简单自己安装下)下载地址:git clone git://repository.tigase.org/git/tigase-server.git

部署步骤
1.进入到git的下载目录找到下载完成的tigase-server(源码),复制到eclipse的workspace,然后import到eclipse成maven项目,(因为下载下来的源码eclipse是不能直接加载的,导入 成maven项目后,maven插件会自动去编译成eclipse可以运行的项目,这个加载的过程会长一些,静心等)完成以后导入jars目录下的所有jar包,另外再去官网下载另外三个重要的jar包(不知为何没放在源码里)
XMPP之tigase源码部署


2.修改两个配置文件 etc/tigase.conf,etc/init.properties(另外init-mysql.properties 文件是init.properties参数的说明,修改之前可以先看一下)
1.tigase.conf:主要改JAVA_HOME="你的jdk路径(version>=1.7)"
2.init-mysql.properties:
config-type=--gen-config-def
--admins=admin@moi.com
--virt-hosts =moi.com
--debug=server
--user-db=mysql
--user-db-uri=jdbc:mysql://ip:port/tigase? user=&password=&useUnicode=true&characterEncoding=UTF-8&autoCreateUser=true
#设置端口 避免使用被占用的
#--monitoring=jmx:9050,http:9080,snmp:9060 
#--c2s-ports=5525,5525  客户端连接时的端口号
#--s2s-ports=5625,5625  服务器连接时的端口号(集群时)
3.设置eclipse的运行环境
项目右键-->Run as ---> Run configurations--->java application---->new 一个应用
Main页:    NAME : tigase-server PROJECT:选择刚刚引入的工程(如果maven插件没有将项目转化完成,这里你是不能选的)
Arguments: proguments arguments:--property-file etc/init.properties
VM arguments:    -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
  -Djdbc.drivers=com.mysql.jdbc.Driverrg.postgresql.Driverrg.apache.derby.jdbc.EmbeddedDriver
-server -Xms100M -Xmx200M -XXermSize=32m 
 -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m

4.安装数据库,这个是我们的运维来完成的,等我研究好了,会补上这段
这是从网上找的创建数据库的方法还没有经过验证
     1.给脚本授权  chmod u+x ./scripts/db-create-mysql.sh
     2../scripts/db-create-mysql.sh database/mysql-installer-create-db.sql 111111 tigasedb root e4b3k7y8-123 localhost

参数分别是   <未知>  <数据库名>  <数据库用户名>  <数据库密码>  <数据库地址>

到这里 就成了,如果启动时报错XXermSize=32m  就把红色的部分去掉,有啥不懂得请联系我,都是新手多交流能加深理解嘛


5.目录/文件
    (1)etc :tigase的配置文件目录 
           1).init.properties  这个文件可是相当的重要,一切的配置参数都是写在这里的 可以重点看看
           2).tigase.conf 这个是tigase最基本的文件了,没有这个你是启动不了的 不过呢这里边的参数基本是不用                  改的 ,但是当服务器真正放到线上的时候,就要相应的修改这里边关于JVM的配置                           (JAVA_OPTIONS='修改这里的'),因为源码里默认的配置实在是太低了根本就不适用高并发的情 况,经常导致cpu爆满,可以参考http://unixboy.iteye.com/blog/174173 进行调试到适合自己的最 优状态
     (2)jars:第三方jar文件的目录,同时这里也是放置打包后的tigase的地方(tigase-server.jar我在后面的文章里                   会告诉你怎么打包滴)
     (3)logs:这个很明显了,日志目录嘛 tigase.log.0是它的运行日志,跟踪运行状态就找它了
     (4)target:将源码打成jar包的目录,这里边放置的是打包过程中产生的class文件等和最终生成的jar包
     (5)scripts:放置脚本的目录,启动脚本也在这里的哦
        linux上启动示例:  ./scripts/tigase.sh start ./etc/tigase.conf 
     (6)database:创建数据的sql

官网上的:
XMPP之tigase源码部署
这三项下的 文章建议都看看

其他一些tigase:资料
http://www.tigase.org/content/tigase-development-custom-application
http://bbs.9ria.com/thread-216988-1-1.html
http://www.tigase.org/content/api-changes-tigase-server-5x
http://2014.54chen.com/blog/2014/07/09/tigase-sockthread/
http://2014.54chen.com/blog/2014/07/07/explain-tigase/
方法注释
http://www.cnphp6.com/?post=26055
http://gotowqj.iteye.com/blog/2085208
http://my.oschina.net/greki/blog?catalog=454545

//用户自定义数据库连接
http://www.tigase.org/content/custom-authentication-connectors
0 0
原创粉丝点击