openfire的安裝我是安裝在了兩個(gè)地方,一個(gè)是自己的的電腦Windows10上,一個(gè)是安裝在騰訊云的centos7上。這樣就可以在自己電腦用和試驗(yàn),可以了再放到云上去。那么今天就來講解一下openfire在Windows和centos7上的安裝過程,我個(gè)人都已經(jīng)實(shí)踐過了?;旧习惭b完成應(yīng)該是沒有什么大問題的。
Windows10上我用的IDE:IDEA2016 (網(wǎng)上有很多關(guān)于eclipse的教程,對于網(wǎng)稱最好用的javaIDE教程卻少之又少,我表示很心累。。)
但是感覺IDEA還是會(huì)比較高達(dá)上一點(diǎn),好用應(yīng)該是不錯(cuò)的。因?yàn)榇蠹叶歼@么說,只是我還是新手,所以還沒有體會(huì)到IDEA的強(qiáng)大之處。
我在Windows上用的是源碼安裝openfire4.0.2,這里我一開始也是安裝的出了很多的錯(cuò)誤。再加上都是eclipse的教程,偶然一次讓我發(fā)現(xiàn)了IDEA的教程,真的是非常感謝這個(gè)兄弟。仿佛遠(yuǎn)處的希望之光,即將熄滅,又給我點(diǎn)燃了。這篇文章講的聽詳細(xì)的,我就按照這個(gè)文章的步驟去執(zhí)行就沒有問題了。
所以Windows10上的有關(guān)IDEA上安裝openfire的工作請參照文章:
http://blog.csdn.net/l139955/article/details/51981671
至于安裝過程中可能出現(xiàn)一些進(jìn)程占用等問題,就殺一殺就好了。其他的就沒有 。然后文章中也說了最后安裝好之后會(huì)報(bào)一個(gè)空指針的錯(cuò)誤。如果大家有什么經(jīng)驗(yàn)和方法解決了的話請通知或者評(píng)論一下。非常感謝大家!
centos7下的openfire4.0.2的源碼安裝:
個(gè)人感覺在centos下安裝還比Windows上簡單,
首先登錄官網(wǎng)下載openfire的linux下的源碼:
http://www.igniterealtime.org/downloads/source.jsp
然后再上傳到linux的你自己想要的目錄下。
然后 tar -zxvf openfire_4_0_2.tar.gz 解壓到當(dāng)前目錄
然后進(jìn)入openfire的bin目錄下
./ openfire start 開啟openfire服務(wù)器
./openfire stop 關(guān)閉openfire服務(wù)器
這樣就基本安裝完成了,開啟服務(wù)器之后去瀏覽器輸入:你的IP:9090如果彈出

代表你已經(jīng)安裝成功了,也可以正常訪問了。這時(shí)候就一步步的去配置就可以了。
我選擇的是中文
然后我域名用的是localhost

然后我選擇的是用外部的MYsql數(shù)據(jù)庫

然后就是進(jìn)行mysql的數(shù)據(jù)庫配置,我在這里卡了半天。很煩,一開始配置出現(xiàn)了問題說是
org.jivesoftware.util.log.util.CommonsLogFactory - Prototype
java.sql.SQLException: Access denied for user 'yukunqi'@'127.0.0.1' (using password: YES)
意思估計(jì)就是我的帳號(hào)訪問不了數(shù)據(jù)庫,我用的是自己重新創(chuàng)建的數(shù)據(jù)庫帳號(hào),沒有用root帳號(hào)以為這樣也可以。畢竟對于要安裝openfire內(nèi)容的數(shù)據(jù)庫我給了所有的權(quán)限,自己用這個(gè)賬戶去數(shù)據(jù)庫能夠增刪查改。但是這里就不能登錄進(jìn)去
之后我用了root的賬戶就可以了。
org.jivesoftware.database.SchemaManager - Specified key was too long; max key length is 767 bytes
這又是另一個(gè)搞了很久的問題,說我的數(shù)據(jù)庫的字段超過了767字節(jié)。又醉了。明明用Windows上裝的時(shí)候就沒有這樣的情況
網(wǎng)上有說一些解決的方法,修改openfire的mysql語句即可。
文章:http://blog.csdn.net/xuzimincode/article/details/14026733
但是我這里還是解決不了,改了之后。后面發(fā)現(xiàn)是字符集的問題,在Windows上的mysql數(shù)據(jù)庫用的是utf8字符集,在centos上是utf8mb4字符集。是這個(gè)字符集的問題導(dǎo)致超過了767.
區(qū)別就是:uft8一個(gè)字符3最多個(gè)字節(jié),而utf8mb4一個(gè)字符支持4個(gè)字節(jié),比utf8能表示更多的字符。這里應(yīng)該是不需要使用utf8mb4的,utf8就夠了。所以用utf8mb4就浪費(fèi)了超過了限制
修改mysql的字符集:
首先查看mysql的指定數(shù)據(jù)庫的字符集:show create database 數(shù)據(jù)庫名;
修改成utf8:alter database 數(shù)據(jù)庫名default character set 'utf8';
這樣就可以了。
錯(cuò)誤日志在openfire的logs下的error.log里面查看

配置完成后就變成這樣的界面了??梢缘卿涍M(jìn)去開始操作啦!

但是我現(xiàn)在還有一個(gè)很蛋疼的問題,我安裝好了openfire可是用Windows電腦上下載的spark去登錄這個(gè)openfire服務(wù)器卻登不上去。不知道為什么,
我用本地Windows上的openfire就可以登錄spark跟人聊天和注冊。我還下載了sparkweb同時(shí)放在了Windows和centos上。也是云上的服務(wù)器登不上去,請各位大神看到文章能幫忙解決一下。感激不盡。