简单地说说 tigase

1 IM服务端开源工程

1.1 主流开源工程介绍

不介绍这个了。

2 Eclipse部署

2.1 Eclipse安装git插件。

2.2 下载源码

git clone https://repository.tigase.org/git/tigase-server

选择稳定的版本右键 checkout

简单地说说 tigase_第1张图片

2.3 Pom错误修正

简单地说说 tigase_第2张图片

修正此错误需要在build节点下添加如下内容(忽略这个报错信息)

<pluginManagement>
   <plugins>
    
    <plugin>
     <groupId>org.eclipse.m2e groupId>
     <artifactId>lifecycle-mappingartifactId>
     <version>1.0.0version>
     <configuration>
      <lifecycleMappingMetadata>
       <pluginExecutions>
        <pluginExecution>
         <pluginExecutionFilter>
          <groupId>org.codehaus.gmavengroupId>
          <artifactId>gmaven-pluginartifactId>
          <versionRange>[1.5,)versionRange>
          <goals>
           <goal>executegoal>
          goals>
         pluginExecutionFilter>
         <action>
          <ignore>ignore>
         action>
        pluginExecution>
       pluginExecutions>
      lifecycleMappingMetadata>
     configuration>
    plugin>
   plugins>
  pluginManagement>


2.4 配置

init.properties 基本配置

config-type=--gen-config-def

--admins= admin@im.cai

--virt-hosts = im.cai

#--debug=http

--debug=server, xmpp, cluster, pubsub

--user-db=mysql

--user-db-uri=jdbc:mysql://192.168.1.100:3306/tigase?user=admin&password=admin

说明:1. admins为管理员账号,需要手动注册。

  1. virt-hosts 为虚拟域名,依个人喜好设定。

  2. debug指定输出哪些包或者类中的日志。

Jvm启动参数配置

1. Program arguments : --property-file etc/init.properties

2. VM argument:

-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8     -Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver  -server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m

说明: 其中-Xmx200M表示给tigase jvm内存分配最大堆内存大小为200M,此值依个人喜好调整。

3 Linux环境部署

3.1 下载linux环境tigase文件

wget https://projects.tigase.org/attachments/download/2657/tigase-server-7.0.2-b3821-dist-max.tar.gz

3.2 解压

tar –zxvf tigase-server-7.0.2-b3821-dist-max.tar.gz 解压到当前目录下并更名为tigase-server (依个人喜好)

3.3 配置

init.properties 配置文件与eclipse配置文件相同

tigase.conf 此配置文件在 /xx/tigase/etc/ 目录下

简单地说说 tigase_第3张图片

说明:

  1. JMX是远程监控的配置
  2. REMOTE_DEBUG为远程调试配置
  3. HEAP_DUMP是内存溢出策略配置, 内存溢出后会自动生成dump文件到指定目录
  4. 配置项按需添加

3.4 启动

在安装目录执行: ./scripts/tigase.sh start etc/tigase.conf

也可修改tigase.sh文件,指定tigase.conf配置文件

简单地说说 tigase_第4张图片

创建tigase命令:

cd /usr/bin

在此目录下执行 : ln –s /xx/tigase/scripts/tigase.sh tigase

表示创建软链接(快捷方式)tigase命令指向 tigase.sh可执行文件

至此,可以直接执行 tigase start|stop|restart 等命令来 启动|停止|重启 tigase

4 Linux环境代码打包

4.1 在自己喜欢的目录创建tigase-XX子目录

使用Xshell的文件传输工具将代码挪到XX目录

4.2 使用maven打包

进入到工程目录cd tigase-XX

执行mvn install -DskipTests (跳过测试)

4.3 部署启动

打包完成后,在target目录下将会生成tigase-server.jar文件,将此jar复制到/XX/tigase/jars目录下,启动tigase

5 远程调试

5.1 服务端配置

etc/tigase.conf 文件添加如下配置:

REMOTE_DEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787"

5.2 IDE客户端配置

以eclipse为例:

Debug Configurations – Remote Java Application – New

简单地说说 tigase_第5张图片

6 内存监控

6.1 服务端配置

etc/tigase.conf 文件添加如下配置:

JMX="-Djava.rmi.server.hostname=192.168.1.120 -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

6.2 客户端连接

以jvisualvm为例,jvisualvm.exe在jdk安装目录bin/。

运行jvisualvm.exe ,添加远程主机,输入服务器地址。

右键 主机添加JMX连接,输入端口号8888。
简单地说说 tigase_第6张图片

7 内存快照

命令 jstack, 将内存快照信息输出到文件。

一般需要获取多份,每隔3~10(依个人喜好)获取一次,用于分析线程等待超时及死锁等等。

简单地说说 tigase_第7张图片

曾经死过的锁

简单地说说 tigase_第8张图片

8 http-api 组件

8.1 配置及依赖

init.properties 配置文件添加

--comp-name-2=http

--comp-class-2=tigase.http.HttpMessageReceiver

http/api-keys[s]=open_access

# http/http/port[I]=8080


此组件依赖servlet-api-3.1.jar 、 groovy-all.jar

8.2 访问

a. tigase配置管理页面: http://localhost:8080/setup/

b. 后台管理页面: http://localhost:8080/ui/ (使用管理员账号登陆)

9 monitor 组件(linux环境下)

9.1 配置及依赖

init.properties 配置文件添加

--monitoring = jmx:9050

此组件依赖 jdmkrt.jar tigase-extras.jar

将下列文件放在对应的目录

bin/monitor.sh

etc/monitor.properties

libs/tigase-monitor.jar (放在jars/ 下会导致启动错误)

sounds/Alarm.wav alarm1.wav

配置 monitor.properties中nodes=red:192.168.1.150:admin:admin_pass 

admin:admin_pass 在etc/jmx.access jmx.password 中配置,使用默认配置即可。

9.2 监控使用

在tigase目录下执行命令 ./bin/monitor.sh 启动monitor

如下:

简单地说说 tigase_第9张图片

10 集群模式

10.1 配置及依赖

init.properties 配置文件添加

--cluster-mode = true

--cluster-connect-all = true

--sm-cluster-strategy-class=tigase.server.cluster.strategy.OnlineUsersCachingStrategy

集群模式需要破解tigase-acs.jar,将破解后的jar包放在jars/目录下,启动各节点,节点之间通过数据库自动发现。

集群模式下每个节点的monitor配置:

配置 monitor.properties中

nodes=red:192.168.1.120:admin:admin_passbule:192.168.1.130:admin:admin_pass

你可能感兴趣的:(tigase)