WSO2 API Manager 2.0.0:作为systemd服务运行时,应用程序视图屏幕上的白屏

时间:2016-11-29 15:29:28

标签: wso2 wso2-am systemd

我已经连续WSO2 API Manager 2.0.0 : white screens after installing https certificate使用MySQL数据库从2.0.0 zip发行版中安装了一个全新的WSO2 API Manager(单节点),以避免与H2数据库相关的问题。

安装完成后,启动时没有警告也没有错误(在几次尝试在master-datasources.xml中完成所有操作后)。

在发布商中,我可以以管理员身份登录,创建新的API,导入swagger json合同,最终确定API没有问题。

在商店中,我可以以管理员身份登录,查看我刚刚创建的API,通过右侧下拉菜单创建新的应用程序,订阅它。

但是当我尝试打开一个应用程序以生成密钥和令牌时,我只是得到一个白色的空屏幕。没有什么可以帮助我在日志中:

[29/Nov/2016:16:17:33 +0100] "GET /store/site/pages/application.jag?name=MyNewApp&tenant=carbon.super HTTP/1.1" 200 3 "https://10.22.106.101:9443/store/site/pages/applications.jag?tenant=carbon.super" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"

编辑: 我得到页面崩溃几分钟后(可能没有关系?)我在wso2carbon.log中反复进行了这次打印:

WARN {sun.rmi.transport.tcp.TCPTransport$AcceptLoop} -  RMI TCP Accept-11111: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,localport=11111] throws {sun.rmi.transport.tcp.TCPTransport$AcceptLoop}
java.lang.OutOfMemoryError: unable to create new native thread

同样,这是一个插入MySQL数据库的基本安装(解压缩),没有自定义/配置。

编辑2:所以我认为我找到了原因,但不是解决方案。当我通过直接命令行启动时不会发生此问题,只有当我通过systemd服务启动时才会发生此问题:

sudo sytemctl start wso2am.service

/etc/systemd/system/wso2am.service:

[Unit]
Description=WSO2 API Manager

[Service]
User=linc

ExecStart=/bin/bash -c ". /etc/profile.d/setenv.sh; /home/linc/wso2am-2.0.0/bin/wso2server.sh start"
Type=forking

[Install]
WantedBy=multi-user.target

WSO2与systemd启动不兼容吗?或者我错过了一些参数?

2 个答案:

答案 0 :(得分:1)

我已关注this blog post将APIM作为Linux服务运行。请看一看。它应该没有问题。 (请务必在#!bin/sh

的顶部添加myService.sh

答案 1 :(得分:0)

最后,我将WSO2 API管理器作为Systemd服务运行。

这是我的'wso2apim.service'文件

>>> joined.rdd.map(lambda row: (row.id_e, [i for i in range(4) if row.list_d[i] != row.list_e[i]])).collect()
[(31, [2]), (33, [2])]

这很简单,但很棘手

  1. 服务类型很简单(不是fork或者其中之一)。 (默认值)
  2. ExecStart不包含'start'选项。随着 启动选项,它会尝试nohup,即无法正常工作
  3. 但是,止损必须包括停止选项
  4. 希望有所帮助