文档章节

使用O2OA二次开发搭建企业办公平台(二)平台部署篇:端口冲突和服务器端口配置

O2OA企业信息化平台
 O2OA企业信息化平台
发布于 2018/09/26 20:22
字数 1476
阅读 2443
收藏 0

本博客为O2OA系列教程、O2OA使用手册,教程目录和各章节天梯将在连载完后更新。

使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署

使用O2OA二次开发搭建企业办公平台(二)平台部署篇:端口冲突和服务器端口配置

使用O2OA二次开发搭建企业办公平台(三)平台部署篇:使用外部数据库

使用O2OA二次开发搭建企业办公平台(四)平台部署篇:用户密码设置

使用O2OA二次开发搭建企业办公平台(五)平台部署篇:连接O2云使用APP

使用O2OA二次开发搭建企业办公平台(六)平台部署篇:定制自己的APP

使用O2OA二次开发搭建企业办公平台(七)平台部署篇:服务器备份和数据导入导出

使用O2OA二次开发搭建企业办公平台(八)组织管理篇:创建组织和个人信息

使用O2OA二次开发搭建企业办公平台(九)组织管理篇:组织职务的创建和使用

使用O2OA二次开发搭建企业办公平台(十)组织管理篇:组织管理者设定

使用O2OA二次开发搭建企业办公平台(十一)组织管理篇:关于系统角色管理

使用O2OA二次开发搭建企业办公平台(十二)流程开发篇:报销审批流程需求和应用创建

使用O2OA二次开发搭建企业办公平台(十三)流程开发篇:报销审批流程表单开发

使用O2OA二次开发搭建企业办公平台(十四)流程开发篇:使用数据字典进行报销类型配置

使用O2OA二次开发搭建企业办公平台(十五)流程开发篇:创建报销审批流程

使用O2OA二次开发搭建企业办公平台(十六)信息开发篇:信息栏目和分类的创建及权限的设置

使用O2OA二次开发搭建企业办公平台(十七)信息开发篇:信息发布的审批功能

使用O2OA二次开发搭建企业办公平台(十八)流程打印表单设置

 

 

 

端口冲突和服务器端口配置

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

报错信息:

[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"

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

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

 

修改WEB服务器端口(其他服务器可以以相同方式进行修改)

O2OA服务器端口配置文件所在位置:o2server/config/node_127.0.0.1.json, 如果目录里没有该文件,可以从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
  }
}

 

下一篇:使用O2OA二次开发搭建企业办公平台(三)平台部署篇:使用其他数据库

 

 

 

© 著作权归作者所有

O2OA企业信息化平台

O2OA企业信息化平台

粉丝 85
博文 45
码字总数 61033
作品 1
杭州
私信 提问
加载中

评论(3)

勐萌
勐萌

引用来自“勐萌”的评论

能添加上下文名称吗,比如用nginx映射出去,http://外网ip地址/oa

引用来自“O2OA”的评论

使用Nginx的话,我们用过使用域名来做映射,比如 oa.xxx.com ,这种的效果比较好。
通过上下文我们没有实际做过,不过这个应该跟Nginx的映射转发能力有关。
了解了,谢谢
O2OA企业信息化平台
O2OA企业信息化平台 博主

引用来自“勐萌”的评论

能添加上下文名称吗,比如用nginx映射出去,http://外网ip地址/oa
使用Nginx的话,我们用过使用域名来做映射,比如 oa.xxx.com ,这种的效果比较好。
通过上下文我们没有实际做过,不过这个应该跟Nginx的映射转发能力有关。
勐萌
勐萌
能添加上下文名称吗,比如用nginx映射出去,http://外网ip地址/oa
使用O2OA二次开发搭建企业办公平台(三)平台部署篇:使用外部数据库

本博客为O2OA系列教程,教程目录和各章节天梯将在连载完后更新。 使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署 使用O2OA二次开发搭建企业办公平台(二)平台部署篇:端...

O2OA
2018/10/23
3
0
使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署

本博客为O2OA系列教程,教程目录和各章节天梯将在连载完后更新。 使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署 使用O2OA二次开发搭建企业办公平台(二)平台部署篇:端...

O2OA
2018/10/23
2
0
O2OA 开发版 V4.2039 发布,优化手写输入新增审计日志

O2OA是基于J2EE架构,集成移动办公、智能办公,支持私有化部署,自适应负载能力的,能够很大程度上节约企业软件开发成本的基于AGPL协议开放源代码的企业信息化系统需求定制开发解决方案,对外...

O2OA企业信息化平台
07/19
1K
0
O2OA - Java 开源企业信息化办公平台

O2OA是基于J2EE架构,集成移动办公、智能办公,支持私有化部署,自适应负载能力的,能够很大程度上节约企业软件开发成本的基于AGPL协议开放源代码的企业信息化系统需求定制开发解决方案,对外...

蒋轩
09/10
40
0
O2OA V4.1237 发布,页面设计器重要优化

O2OA是一套现代风格的企业级办公平台及开发套件,服务器以及移动APP代码基于AGPL开源,全功能免费。 软件特点: 1、全功能全平台化办公平台解决方案 2、部署简单、使用方便、二次开发成本超低...

O2OA
01/08
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

获取文件路径

//获取根目录 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if (!path.exists()) path = new File(""); String FILE_PATH =path.getCanonicalPath(); //如果上传目......

简小姐
32分钟前
3
0
Postgresql 字符类型异常error: operator does not exist: bigint = character varying

问题参考: https://www.postgresql.org/message-id/4682D2C9.1010406@aspix.it 类型不对应: 只要类型对上了就不会出错。

boonya
33分钟前
3
0
Spring Security 实战干货:路径Uri中的 Ant 风格

1. 前言 我们经常在读到一些文章会遇到uri 支持 Ant 风格 ,而且这个东西在 Spring MVC 和 Spring Security 中经常被提及。这到底是什么呢?今天我们来学习了解一下。这对我们学习 Spring M...

码农小胖哥
47分钟前
2
0
Ajax在表单中的应用

本文转载于:专业的前端网站➺Ajax在表单中的应用 ajax在注册用户表单中的使用 1.验证用户名是否被使用 2.获取手机短信验证码 3.点击表单中的图片刷新,可实现刷新图片验证码 <!DOCTYPE html...

前端老手
51分钟前
1
0
关于谷歌浏览器崩溃,打不开任何界面

首先:谷歌浏览器右键打开属性,在箭头所指的位置复制粘贴 -no-sandbox。(需要空一格再写入 -no-sandbox) 其次:你打开谷歌浏览器可以看到如下提醒,提醒你,稳定性和安全性会有所下降,但...

Raphael98
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部