关键词:启动报错,O2OA,开源办公系统,端口冲突,80端口 ,服务器端口修改

在安装O2OA的服务器上很可能已经启用了IIS、apache或者nginx等服务器,已经有其他的应用或者web站点正在运行中,所以O2OA启动所需要的80端口已经被占用,导致端口冲突无法正常运行。本篇介绍如果解决遇到的服务器端口冲突问题。


启动应用的时候发现启动到最后报了一个错,如下图所示:

报错信息

[main] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@3c20ba2b{HTTP/1.1,[http/1.1]}{0.0.0.0:20020}
[main] INFO org.eclipse.jetty.server.Server - Started @76111ms
2018-09-26 19:56:13 PRINT [main] com.x.server.console.server.application.ApplicationServerTools - application server start completed on port:20020.
[main] INFO org.eclipse.jetty.server.Server - jetty-9.4.z-SNAPSHOT; built: 2018-05-03T15:56:21.710Z; git: daa59876e6f384329b122929e70a80934569428c; jvm 1.8.0_171-b11
[main] INFO org.eclipse.jetty.server.session - DefaultSessionIdManager workerName=node0
[main] INFO org.eclipse.jetty.server.session - No SessionScavenger set, using defaults
[main] INFO org.eclipse.jetty.server.session - node0 Scavenging every 660000ms
[main] INFO org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@6a0a48db{/,file:///D:/o2server/servers/webServer/,AVAILABLE}
java.net.BindException: Address already in use: bind
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:340)
        at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:308)
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:244)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.server.Server.doStart(Server.java:398)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at com.x.server.console.server.web.WebServerTools.start(WebServerTools.java:73)
        at com.x.server.console.server.Servers.startWebServer(Servers.java:73)
        at com.x.server.console.Main.startWebServer(Main.java:555)
        at com.x.server.console.Main.startAll(Main.java:600)
        at com.x.server.console.Main.main(Main.java:201)

看上去是端口被占用了,根据O2OA的启动顺序,我发现20020端口已经绑定完成了,应该是web端口80被占用了。

查询端口占用情况

虽然网上有众多的相关说明,这里还是简要的把过程说明一下,大家有可能用得着,举一反三,其他的端口占用也可以使用类似的方法处理,思路如下:
1、查询端口监听程序所在的进程号(PID)
2、在Windows任务管理器里,查看该进程号所对应的应用程序名称即可。
操作过程:
1)查询端口监听程序所在的进程号(PID)使用命令:netstat -aon|findstr "80" (Linux应该也有相应的查询方法,可以自行查找相应的说明)


2)在Windows任务栏上使用右键(或者快捷键CTRL+SHIFT+ESC)打开任务管理器,在详细栏里,根据PID将所有的应用程序排序,之后找到2744对应的应用程序,如下图所示:

关闭相应的应用程序,或者直接右键结束任务即可。您也可以根据实际情况对相应的应用程序做出处理,如果实在没有处理方式,那么还可以修改O2OA的Web服务器的端口来解决该问题。

修改WEB服务器端口

(其他服务器可以以相同方式进行修改)
O2OA服务器端口配置文件所在位置:o2server/config/node_127.0.0.1.json(如果目录里没有该文件或者没有config目录,可以从configSample目录里COPY一个到config目录下)。如下图所示:

打开o2server/config/node_127.0.0.1.json,配置文件内容如下:

{
  "enable": true,
  "port":null,
  "sslEnable":false,
  "logLevel":"info",
  "isPrimaryCenter": true,
  "nodeAgentEnable": true,
  "application": {
    "enable": true,
    "port": null,            #应用服务器端口设置,默认20020
    "sslEnable": false,
    "proxyHost": "",
    "proxyPort": null,
    "forceRedeploy": true,
    "scanInterval":5,
    "includes":[],
    "excludes":[]
  },
  "web": {
    "enable": true,
    "port": null,            #WEB服务器端口设置,默认80 , 将此处改为其他端口即可
    "sslEnable": false,
    "proxyHost": "",
    "proxyPort": 80,
    "forceRedeploy": true
  },
  "storage": {
    "enable": true,
    "port": null,            #文件存储服务器端口设置,默认20040
    "sslEnable": false,
    "name" : ""
  },
  "data": {
    "enable": true,
    "tcpPort": null,         #数据库服务器端口设置,默认20050
    "webPort": null,
    "includes": [],
    "excludes": []
  },
  "dumpData":{
    "cron" : "0 0 21 * * ?",
    "size" : 14
  },
  "dumpStorage":{
    "cron" : "0 0 21 * * ?",
    "size" : 14
  }
}

修改完成后,重启,问题解决!

推荐文章:

常见问题-如何使用服务管理调用WebService
2021-02-07
一、接口样例1、打开服务管理平台2、创建接口写上相关代码/********************this.entityManager;//实体管理器this.
平台维护-备份和恢复平台数据操作
2021-02-26
O2OA提供平台数据导出导入的数据迁移方案,开发者可以将平台的全部数据从一个环境平滑迁移到其他的环境,不受操作系统和数据库限制,这也是一个很好的系统自动备份和恢
开发知识-在PAAS平台上部署O2OA开发平台
2021-02-07
一、镜像制作1、将安装介质o2server-5.0.3-linux.zip上传至镜像制作服务器上。(上传目录为/paas/xxhpaas/moka/o2oa)2
业务开发-组织架构-组织管理者设定
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要。本文主要介绍如何在O2OA中设定组织的管理者实现
快速入门-自定义表数据分页样例
2021-02-07
一、分页获取自定义表数据接口代码var getRowCount = function(tableFlag,where){    var data = {};  
移动办公-微信扫码登录办公系统配置
2021-02-25
O2OA平台可以使用符合OAuth2标准的第三方认证进行平台的登录认证。本篇主要介绍如何将在O2OA中集成微信扫码登录功能。
平台维护-自动执行平台数据的备份与恢复
2021-02-26
O2OA提供平台数据导出导入的数据迁移方案,开发者可以将平台的全部数据从一个环境平滑迁移到其他的环境,不受操作系统和数据库限制,这也是一个很好的系统自动备份和恢
系统集成-SSO微软ADSF单点认证-AD域认证
2021-02-26
O2OA平台提供灵活的系统集成方案,让企业信息平台与各类第三方系统进行集成。本篇主要介绍如何在O2OA中使用微软ADSF单点认证的方案与其他系统实现单点登入。
前端API-前端界面开发API文档
2021-03-02
O2OA使用前后端分离的模式进行系统设计,并且也开放了全部的后端API供开发者使用,开发者可以根据各类API组织出符合实际业务需求的新服务或者新业务。本文主要介
开发知识-人大金仓数据安装
2021-02-07
一、安装程序  1、在安装前要创建一个帐号,不能用root帐号安装。  2、安装执行./setup.sh -iconsole    3、接受“此许可协议条款”,

results matching ""

    No results matching ""