目的:将最新版(6.4.0)部署在linux服务器,与Api Manager部署在同一环境java
环境:mysql
Centos 7.3linux
Jdk 8git
Mysql 5.7sql
问题一: 将H2替换为Mysql5.7数据库时提示没法找到驱动数据库
解决方式:官方文档给出的驱动程序位置有误,应为<EI_HOME>/lib,将5.7对应的驱动mysql-connector-java-8.0.14.jar存放在该目录,相应的dropins中也会复制一个驱动。服务器
问题二:启动后与API Manager大量的端口冲突gitlab
解决方式:因两款产品用到相同的技术手段,且大量的端口配置相同,所以部署在同一服务器时天然会冲突,若是一个一个查端口,再单独修改,工做量惊人,还好WOS2想到了该问题,只须要在启动EI时添加端口偏移量便可google
命令:./integrator.sh -DportOffset=3 (端口号均增长3)spa
问题三:修改完Mysql5.7提示链接不上
解决方式:相似于我另外一篇博客,是数据库SSL问题,关闭便可
问题四:启动后提示缺乏WSO2 Indenty Server相关类库
缘由:与Api Manager采用了一样的数据库,但尚未部署同一的认证服务期,所以报错,解决方式:
1)部署Wso2 IS(还没试)
2)与AM不共用库
问题五:运行成功后,ServerIp为localhost
参考文献:https://docs.wso2.com/display/EI611/Configuring+carbon.xml
(1) Host 显示不许确
解决方法:修改../conf/carbon.xml文件中的HostName,改成服务器的ip地址便可
问题六:按照官方的教程Sending a Simple Message to a Service运行 ,卡在运行msf4j.sh上,运行报错端口被占用。但坑爹的是不告诉你哪一个端口被占用。
解决方法:在google中搜索相关内容,找到了WSO2的全部端口信息https://docs.wso2.com/display/EI610/Default+ports+of+WSO2+EI 相关的端口多是9090,在linux服务器上查询,发现有多是gitlab的端口占用。查了一下午资料,试了端口offset不行,怀疑是服务jar包端口占用,删了也一样报错,后来终于发现9090端口的配置位置:/usr/lib64/wso2/wso2ei/6.4.0/wso2/msf4j/conf/transports/netty-transports.yml 便可。
问题七:问题六改完后报新错: