搭建ejabberd运行环境总结
1、ejabberd 启动报错,Failed to read /data/ssl_gzemt/pro/dh2048.pem: no such file or directory
reason:本地根目录下无这个pem -------------- > solution:create dir and file
2.在测试环境中慎用make clean 一般直接make 再ejabberdctrl live 即可
3.[error] failed to load NIF /home/im/imserver/release/ejabberd/lib/iconv-1.0.7/priv/lib/iconv: Failed to load NIF library /home/im/imserver/release/ejabberd/lib/iconv-1.0.7/priv/lib/iconv: 'libiconv.so.2: cannot open shared object file: No such file or directory'
reason:本地没有这个依赖库
solution:https://ftp.gnu.org/pub/gnu/libiconv/ 下载lib-115这个 如果新机器可能没有gcc (yum install gcc)
root/sudo权限
./configure --prefix=/usr/local
sudo make
sudo make install
4.[critical] failed to start application 'eredis': {{"no such file or "eredis.app"}}
reason:deps出错
solution:make clean ./autogen -> ./configure --enable-redis make
5.首次搭建需要配置Makefile # prefix = /usr/local->prefix = `pwd`, make copy-files
6.域名解析 ejabberd.yml中host配置 /etc/hosts中加host
7.behavior -> ejabberd_config 实现callback otp_type
8.redis -> redis supvisor 重启-> ejabberd_redis
https://blog.youkuaiyun.com/ruanhao1203/article/details/79139496
mod_redis中,拿token要先执行ejabberd_redis q方法连接redis服务器,连接成功了才去get
9.release包中,更新了版本号要,要remote console去reload一下,然后再ejabberd_config:get_option()
10.cp -rf ebin/* lib/ejabberd-18.03.21/ebin/
cp -rf deps/xmpp/ebin/* lib/xmpp-1.1.20/ebin/
11.
添加依赖
1、添加路径到rebar.config
{A, ".*", {git, "B", {tag, "C"}}} ->
A 到.app文件下找,或者在makefile下找projectname
B github clone地址
C 版本号
2、make clean
3、make拉取
12.ejabberd中的mnesia想要修改表结构并且兼容之前的数据,在transfrom方法中,用修改过的hrl文件来接受参数无效,会出现functioncase的错误,所以只需用一个变量来存即可,并且返回的是一个新的record