此配置适合o2集群部署或者外网访问o2server服务(如移动端h5方式访问o2)
此配置需要o2server V5.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)不是固定的,可以根据自身需要需改):
nginx80端口匹配的上下文 |
o2端口服务 |
/dev/web/ | 8080(o2web服务器) |
/dev/app/ | 20020( o2应用 服务器) |
/dev/center/ |
20030(o2中心 服务器) |
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 的节点标识文件配置
1 72.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, "isPrimaryCenter": true, "center": { "enable": true, "order": 1.0, "sslEnable": false, "redeploy": true, "port": 20030.0, "httpProtocol": "", "proxyHost": "qmx.o2oa.net", "proxyPort": 20030.0, "scanInterval": 0.0, "configApiEnable": true, "statEnable": true, "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico", "maxFormContent": 20.0 }, "application": { "enable": true, "port": 20020.0, "sslEnable": false, "proxyHost": "qmx.o2oa.net", "proxyPort": 20020, "redeploy": true, "scanInterval": 0.0, "includes": [], "excludes": [], "weights": [], "scheduleWeights": [], "statEnable": true, "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico", "maxFormContent": 20.0 }, "web": { "enable": true, "port": 8080.0, "sslEnable": false, "proxyHost": "", "weight": 100.0, "dirAllowed": false, "statEnable": false, "statExclusions": "*.gif,*.jpg,*.png,*.ico", "cacheControlMaxAge": 0.0 }, "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, "isPrimaryCenter": true, "center": { "enable": true, "order": 2.0, "sslEnable": false, "redeploy": true, "port": 20030.0, "httpProtocol": "", "proxyHost": "qmx.o2oa.net", "proxyPort": 20030.0, "scanInterval": 0.0, "configApiEnable": true, "statEnable": true, "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico", "maxFormContent": 20.0 }, "application": { "enable": true, "port": 20020.0, "sslEnable": false, "proxyHost": "qmx.o2oa.net", "proxyPort": 20020.0, "redeploy": true, "scanInterval": 0.0, "includes": [], "excludes": [], "weights": [], "scheduleWeights": [], "statEnable": true, "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico", "maxFormContent": 20.0 }, "web": { "enable": true, "port": 8080.0, "sslEnable": false, "proxyHost": "", "weight": 100.0, "dirAllowed": false, "statEnable": false, "statExclusions": "*.gif,*.jpg,*.png,*.ico", "cacheControlMaxAge": 0.0 }, "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:20020": "qmx.o2oa.net/dev/app", "qmx.o2oa.net:20030": "qmx.o2oa.net/dev/center" }, "###indexPage": "定制首页面设置.###", "###loginPage": "定制登录页面设置.###"}
1、进入o2server目录,执行./ start_linux.sh,当显示出o2命令信息时输入start启动服务,观察center服务、app服务器、web服务启动是否正常;
2、当两台服务器都启动正常后进入nginx服务器,telnet这两台服务器3个服务的端口,确保nginx到o2服务器网络正常;
nginx代理转发逻辑:
进入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 webServer { # Server: 分发名 server 172.16.98.8:8080; # 分发地址1 server 172.16.98.9:8080; # 分发地址2 } upstream appServer { server 172.16.98.8:20020; server 172.16.98.9:20020; } upstream centerServer { server 172.16.98.8:20030; server 172.16.98.9:20030; }
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 /dev/web/ { root html; index index.html; proxy_pass } location /dev/app/ { proxy_pass } location /dev/center/ { proxy_pass } } } |
|
1、浏览器访问地址:http://qmx.o2oa.net/dev/web 使用 xadmin/o2登录;
2、进入98.8主机的o2server目录,键入./stop_linux.sh ,刷新页面正常访问;
3、进入98.9主机的o2server目录, 键 入./stop_linux.sh ,刷新页面出现502 Bad Gateway;
4、 进入98.8主机的o2server目录, 键 入./start_linux.sh进入命令行后 键 入start ,刷新页面正常访问;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31563356/viewspace-2755080/,如需转载,请注明出处,否则将追究法律责任。