当前位置: 首页 > news >正文

O2OA(翱途) 开发平台之HTTP端口规划

O2OA(翱途) 开发平台[下称O2OA开发平台或者O2OA]采用相对灵活的系统架构,支持三种服务器运行的方式。本篇主要阐述合并服务运行独立服务运行代理端口运行三种服务器运行方式。

一、先决条件:
1、O2Server服务器正常运行,系统安装部署请参考文档《如何在服务器上安装部署O2OA》
2、以拥有管理员权限的用户账号登录O2OA(翱途)开发平台,如:xadmin

二、服务器架构及运行场景描述
O2OA服务器默认启动5个服务,分别为:
●Application:应用服务器
●Center:中心服务器
●Web:web资源服务器
●Data:数据库服务器
●Storage:文件存储服务器
其中 Data和Storage在生产环境中建议使用商用产级品。Application,Center和Web三个服务器同时对外提供http服务,在集群和网络转发环境中需要对这些服务端口进转发。
Application,center和web服务器都对外提供http服务,这三个服务可以占用不同的端口提供服务,也可以使用同一个端口提供服务,占用不同端口提供服务主要是为了在较复杂的环境要求下提供服务,比如:要求静态资源部署在外网或者DMZ区,动态服务全部部署在内网,或者业务上要求应用防火墙上对动态服务进行防护需要通过端口区分业务的使用场景。
如果对服务器运行环境及架构没有特殊要求,建议使用默认方式。
三、服务器运行方式介绍
O2OA服务器提供三种对外提供HTTP服务器方式设计,分别为:
●合并服务运行(默认):通用。
●独立服务运行:集群较为复杂环境,对不同服务进行单独设置,同时需要设置允许跨域访问。
●代理端口运行(不推荐使用):单服务器运行,此模式下由于通过了proxy servlet转发无法使用webSocket链接。需要禁用webSocket,proxy servelt目前也无法正确代理https服务。

在V7.2版本以后可以通过系统配置进行配置,如下图所示:

server.png

默认配置使用合并服务方式运行,默认HTTP端口80。
HTTP端口规划
可以通过导航菜单栏->系统配置->服务配置->服务器配置进行设置,默认情况下是合并服务运行方式。
合并服务运行

这种模式下application,center和web三个服务器同时运行在application的服务器上,对外仅提供一个http,所有三个服务器的服务内容均在application服务器上运行。

合并服务运行.png

配置方式

在节点配置文件中(o2server/config/node_127.0.0.1.json)配置

{"center": {"port": 80},"application": {"port": 80},"web": {"port": 80}
}

服务器在启动过程中将识别到application和web与center的端口配置是相同的,启动过程中将只启动application服务器,然后将center和web的内容合并到application服务器上运行。
在此模式下忽略proxyAapplicationEnable,proxyCenterEnable配置。
独立服务运行
这种模式下application,center和web三个服务器同时对外提供服务,默认都占用80端口。

在节点配置文件中(o2server/config/node_127.0.0.1.json)配置

代理端口运行
7.2版本以后不再推荐使用此方式,在处理webSocket和https时存在问题,后续会废弃此方式。
这种模式下application,center和web三个服务器同时对外提供服务,在web服务器会启动一个代理proxy servlet 对application和web的端口进行转发。

代理端口运行.png


配置方式
在节点配置文件中(o2server/config/node_127.0.0.1.json)配置

{
"center": {
"port": 80
},
"application": {
"port": 80
},
"web": {
"port": 80,
"proxyCenterEnable": true,
"proxyApplicationEnable": true
}
}

以上为O2OA合并服务运行独立服务运行代理端口运行三种服务器运行方式,希望对您有帮助.

http://www.lryc.cn/news/390804.html

相关文章:

  • 以创新思维驱动下的盲盒小程序:重塑用户体验
  • 设计资料:520-基于ZU15EG 适配AWR2243的雷达验证底板 高速信号处理板 AWR2243毫米波板
  • 晋级国赛!卓翼飞思技术引领,助力辽宁赛区机器人及人工智能大赛圆满收官
  • react ts 封装3D柱状图,支持渐变
  • css---before和after伪元素
  • 下载后端返回的图片,而不是打开图片
  • ELISA实验前,需要做好哪些准备?
  • 浅谈 Linux 中的 core dump 分析方法
  • 自研直播系统-直播系统实战
  • python数据分析入门学习笔记
  • SyntaxError: invalid character in identifier 解决方案
  • 装箱问题汇总
  • 你的B端系统考虑移动化了?还没?那就小心out了。
  • 大数据招商的应用场景及实施路径有哪些?
  • 【C++】 C/C++预处理器介绍
  • MySQL—创建查看删除备份恢复数据库
  • 1.4 ROS2集成开发环境搭建
  • 数组和对象在内存中的区别
  • 智能胎教仪,科技与教育的融合-N9301胎教仪语音方案
  • 代码随想录2链表
  • Java8新特性常见用法
  • Web3 前端攻击:原因、影响及经验教训
  • C++ 如何解决回调地狱问题
  • 普利姆最小生成树算法 c++
  • Golang 依赖注入设计哲学|12.6K 的依赖注入库 wire
  • ubuntu 23 连接正点imx6ull的uboot网络设置(nfs和tftp)
  • CC6利用链分析
  • 多线程编程的基本概念,C++标准库中的多线程支持(std::thread,std::async),如何处理线程同步和并发问题。
  • Linux的Socket开发概述
  • LLM调优,大模型怎么学