九游会官网登录入口网页-ag8九游会j9登录入口(翱途)开发平台[下称九游会官网登录入口网页-ag8九游会j9登录入口开发平台或者九游会官网登录入口网页-ag8九游会j9登录入口]使用分布式架构设计,提供灵活的扩展方案用于对服务器的负载能力进行扩展,保障系统的高可用性。本篇主要介绍如何基于nginx上下文分发的方式快速集群部署。本篇适用o2oa(翱途) v7.2及以上版本。
o2oa平台应用结构
o2oa服务器默认启动5个服务,分别为:
application 应用服务器,默认端口:20020
center 中心服务器,默认端口:20030
web web资源服务器,默认端口:80
data 数据库服务器,默认端口20050(默认情况下同时提供一个web gui管理界面,默认端口 20051)
storage 默认文件存储服务器,默认端口20040
其中 data和storage在生产环境中建议使用商用产级品。
application,center和web三个服务器同时对外提供http服务,在集群和网络转发环境中需要对这些服务端口进转发。
此配置适合o2oa集群部署或者外网访问o2server服务(如移动端h5方式访问o2)
此配置需要o2oa v7.2及以上版本
主机1:172.16.98.8(linux)
主机2:172.16.98.9(linux)
172.16.98.8:web服务器,应用服务器,文件存储服务器,中心服务器
172.16.98.9:web服务器,应用服务器,文件存储服务器,中心服务器
mysql数据库
域名:qmx.o2oa.net(可以用ip,如果域名没有解析需要配置hosts)
端口:80(o2web服务器、o2应用服务器、o2中心服务器)
分发规则
(下文中描述的上下文(如:/dev/web)不是固定的,可以根据自身需要需改,但第一层/dev在3个上下文中必须是一致的。在此我们暂时定义上下文为/o2oa):
nginx80端口匹配的上下文 | o2端口服务 |
/o2oa | 8080(web服务器、应用服务器、中心服务器) |
1、在主机172.16.98.8的o2server/local目录中修改或者新增文件node.cfg,修改内容为主机的域名或者ip;
主机172.16.98.8的节点标识文件配置
172.16.98.8 |
2、在主机172.16.98.9的o2server/local目录中修改或者新增文件node.cfg,修改内容为主机的域名或者ip;
主机172.16.98.9的节点标识文件配置
172.16.98.9 |
1、从172.16.98.8主机的o2server/configsample目录中copy文件node_127.0.0.1.json到o2server/config目录,命名为node_172.16.98.8.json,再拷贝一份命名为node_172.16.98.9.json;
2、修改node_172.16.98.8.json文件如下(#井号部分需关注):
{
"enable": true,
"center": {
"enable": true,
"order": 1.0, ######
"sslenable": false,
"redeploy": true,
"port": 8080.0, ######
"httpprotocol": "",
"proxyhost": "",
"proxyport": 8080.0
},
"application": {
"enable": true,
"port": 8080.0, ######
"sslenable": false,
"proxyhost": "",
"proxyport": 8080.0,
"includes": [],
"excludes": []
},
"web": {
"enable": true,
"port": 8080.0, ######
"sslenable": false,
"proxyhost": ""
},
"data": {
"enable": false, ######
"tcpport": 20050.0,
"webport": 20051.0,
"includes": [],
"excludes": [],
"jmxenable": false,
"cachesize": 512.0,
"loglevel": "warn",
"maxtotal": 50.0,
"maxidle": 0.0,
"statenable": true,
"statfilter": "mergestat",
"slowsqlmillis": 2000.0
},
"storage": {
"enable": true,
"port": 20040.0,
"sslenable": false,
"name": "251", ######
"accounts": [],
"prefix": "",
"deeppath": false
},
...
}
3、修改node_172.16.98.9.json文件如下(#井号部分需关注):
{
"enable": true,
"center": {
"enable": true,
"order": 2.0, ######
"sslenable": false,
"redeploy": true,
"port": 8080.0, ######
"httpprotocol": "",
"proxyhost": "",
"proxyport": 8080.0
},
"application": {
"enable": true,
"port": 8080.0, ######
"sslenable": false,
"proxyhost": "",
"proxyport": 8080.0,
"includes": [],
"excludes": []
},
"web": {
"enable": true,
"port": 8080.0, ######
"sslenable": false,
"proxyhost": ""
},
"data": {
"enable": false, ######
"tcpport": 20050.0,
"webport": 20051.0,
"includes": [],
"excludes": [],
"jmxenable": false,
"cachesize": 512.0,
"loglevel": "warn",
"maxtotal": 50.0,
"maxidle": 0.0,
"statenable": true,
"statfilter": "mergestat",
"slowsqlmillis": 2000.0
},
"storage": {
"enable": true,
"port": 20040.0,
"sslenable": false,
"name": "252", ######
"accounts": [],
"prefix": "",
"deeppath": false
},
...
}
4、从172.16.98.8主机的o2server/configsample目录中copy文件externaldatasources_mysql.json到o2server/config目录,命名为externaldatasources.json,然后修改配置文件中数据库相应的配置信息;
5、从172.16.98.8上复制修改好的node_172.16.98.8.json、node_172.16.98.9.json和externaldatasources.json文件到172.16.98.9的o2server/config目录。
1、分别从172.16.98.8和172.16.98.9主机的o2server/configsample目录中copy文件portal.json到o2server/config目录。
2、修改portal.json(修改urlmapping的内容,其他保持不变)
{
"indexpage": {
"enable": false,
"portal": "",
"page": ""
},
"loginpage": {
"enable": false,
"portal": "",
"page": ""
},
"urlmapping": {
"qmx.o2oa.net/": "qmx.o2oa.net/o2oa/"
},
"###indexpage": "定制九游会ag8九游会j9登录入口官网登录入口网页首页面设置.###",
"###loginpage": "定制登录页面设置.###"
}
1、进入o2server目录,执行./start_linux.sh,当显示出o2命令信息时输入start启动服务,观察center服务、app服务器、web服务启动是否正常;
2、当两台服务器都启动正常后进入nginx服务器,telnet这两台服务器3个服务的端口,确保nginx到o2服务器网络正常;
进入nginx的nginx.conf文件,修改配置(参考如下),然后重启nginx。
http {
include mime.types;
default_type application/octet-stream;
charset utf-8;
#access_log logs/access.log main;
client_max_body_size 100m; # 数据包大小限制
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
#gzip on;
upstream o2server { # server: 分发名
server 172.16.98.8:8080; # 分发地址1
server 172.16.98.9:8080; # 分发地址2
}
server {
listen 80;
server_name localhost;
proxy_http_version 1.1;
proxy_read_timeout 300s;
proxy_set_header upgrade $http_upgrade; # 支持websocket连接
proxy_set_header connection "upgrade"; # 支持websocket连接
proxy_set_header host $host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header remote-host $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
location /o2oa/ {
root html;
index index.html;
proxy_pass http://o2server/;
}
}
}
1、浏览器访问地址:http://qmx.o2oa.net/ 使用 xadmin/o2登录;
2、进入172.16.98.8主机的o2server目录,键入./stop_linux.sh ,刷新页面正常访问(服务被转发到172.16.98.9);
3、进入172.16.98.9主机的o2server目录,键入./stop_linux.sh ,刷新页面出现502 bad gateway(两台服务器均停止服务,无内容可被请求);
4、进入172.16.98.8主机的o2server目录,键入./start_linux.sh进入命令行后键入start ,刷新页面正常访问(172.16.98.8服务器启动完成,向外提供服务能力);
以上是使用nginx以上下文转发机制的形式实现o2oa集群的介绍,希望对您有帮助。