tigase 簡介
最近閒來無事研究了一下另一個基於XMPP協議開發的服務器Tigase,發現其相比Openfire還是有一定的優勢的,官方號稱其單台服務器可以同時承受50W在線人數的負載,從這一點來看比Openfire強很多(Openfire如果不考慮Roster估計可以達到單台1000的同時在線就不錯了),對於iOS端使用XMPP協議開發的應用程序是一個好的選擇,iOS端XMPP框架可以與Java服務端進行交互;
tigase 源碼部署
1.下載安裝支持
JDK1.6 Maven 2.x/3.x
2.獲取Tigase server源碼
svn co https://svn.tigase.org/reps/tigase-server/trunk/ tigase-server
3.使用Maven編譯(文件將會被編譯到根目錄下的target文件夾下)
mvn assembly:assembly
4.對編譯好的jar進行解壓
cd target/ tar -zxvf tigase-server-5.1.0-SNAPSHOT-prodenv.tar.gz
5.配置環境變量
cd tigase-server-5.1.0-SNAPSHOT/ vi /etc/profile JAVA_HOME=/usr/java/jdk1.6.0_29 export JAVA_HOME PATH TIGASE_HOME="/home/workspace/tigase_server_dev/target/tigase-server-5.1.0-SNAPSHOT/" export TIGASE_HOME
並修改tigase.sh文件中的jdkpath為JAVA_HOME="${JAVA_HOME}"
6.賦予執行權限
chmod u+x bin/* grant all on *.* to [email protected] identified by 'smm1018';
7.配置init.properties //mysql 為數據庫
config-type=--gen-config-def [email protected] --virt-hosts =wemomo.com #$HOST_NAME --debug=server --monitoring=jmx:9050,http:9080,snmp:9060 --user-db=mysql --user-db-uri=jdbc:mysql://127.0.0.1:3306/tigasedb?user=root&password=smm1018
8.修改/tigase_server/src/main/assembly/prodenv.xml配置文件, 使assembly能夠編譯打包好所有的jar和必要的配置文件。
9.執行/tigase_server/database/mysql-create-db.sql創建數據庫
執行/tigase_server/database/mysql-schema-4.sql創建表
執行/tigase_server/database/mysql-schema-4-sp.schema創建函數和存儲過程(腳本有些問題,需要改動才可以正確運行)
//sql執行失敗的話,就需要一段一段執行。。。。。。我都是一段一段執行的。
10.啟動服務器
./bin/tigase.sh start etc/tigase.conf //更新部署代碼 svn up;mvn clean;mvn assembly:assembly;cd target/;tar zxvf tigase-server-5.1.0-SNAPSHOT-prodenv.tar.gz;cd tigase-server-5.1.0-SNAPSHOT/;chmod 777 *;chmod 777 */*; ./bin/tigase.sh start etc/tigase.conf
啟動成功後可以使用Psi或者spark等xmpp client進行測試。