此配置适合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数据库
nginx访问域名及端口
域名: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的节点标识文件配置
172.16.98.9 |
二、配置node文件
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的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 http://webServer/; } location /dev/app/ { proxy_pass http://appServer/; } location /dev/center/ { proxy_pass http://centerServer/; } } } |
|
六、测试验证
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 ,刷新页面正常访问;
相关推荐
基于 nginx 的 s3 代理 - docker 从 S3 为您的静态主页提供服务,同时通过在 docker 中运行的 nginx 代理来保持存储桶的私密性。 用法 克隆这个 repo: git clone --recursive ...
nginx-1.18.0-2.el7.ngx.x86_64.rpm安装包(含有部署手册) nginx-1.18.0-2.el7.ngx.x86_64.rpm安装包(含有部署手册) nginx-1.18.0-2.el7.ngx.x86_64.rpm安装包(含有部署手册) nginx-1.18.0-2.el7.ngx.x86_64.rpm...
在给定的压缩包文件中,"使用必看.txt"可能包含了编译和使用过程中的注意事项,而"nginx-rtmp.zip"可能是包含了RTMP模块的源代码,这在搭建流媒体服务器时也会用到,因为HTTP FLV Module通常与RTMP模块结合使用,为...
nginx sticky是nginx的module,可以实现基于cookie的负载均衡。 下载后,在编译安装nginx时,用--add-module选项,指到sticky所在目录。类似命令如下: ./configure --prefix=/usr/local/nginx-1.6.0 --add-module=...
--> nginx-1.21.6 ======================== 在网上查找半天都只有教程,没有可免费下载的版本,深知没有积分遍地找资源的痛苦,无奈之下只好自己按照教程一步一个坑编译出来的,供大家免费下载使用。(无毒放心使用...
【压缩包子文件的文件名称列表】:虽然未提供具体的文件列表,但通常一个开源项目如“nginx-http-flv-module-master”会包含以下组件: 1. `README.md` - 项目介绍和安装指南。 2. `src/` - 源代码目录,包含模块的...
Nginx-Module-VTS,全称是Nginx VTS (Virtual Host Traffic Status) Module,它扩展了Nginx的基本功能,提供了实时的、基于虚拟主机的访问统计信息。通过这个模块,我们可以获取到如下的关键数据: 1. **请求总数**...
OpenResty是基于Nginx和lua-nginx-module的高性能Web平台,提供了更完整的Lua扩展库和工具集,如lua-nginx-memcached-module、lua-resty-redis等。 5.2 LuaJIT优化 LuaJIT是Lua的一个高性能Just-In-Time编译器,能...
总结来说,通过`nginx-pv.yaml`和`nginx-set.yaml`,我们可以设置一个包含持久化存储和有序、有状态部署的Nginx集群。这为高可用性和可扩展性提供了基础,同时保证了服务的稳定性和数据的安全性。在实际操作中,还...
总结来说,这个资源提供了一个预装有`nginx-http-flv-module`的Nginx Windows版本,方便用户快速部署流媒体服务。如果你需要自定义Nginx的配置或更新模块,可以根据上述步骤进行操作。同时,理解Nginx的编译和配置...
总结,这个压缩包中的"nginx-with-http-flv-moudle"是一个包含Nginx、Nginx-RTMP和Nginx-HTTP-FLV模块的预编译版本,特别适合在Windows系统上快速搭建一个具备全面流媒体处理能力的服务器。用户无需复杂的编译过程,...
在给定的文件列表中,我们看到`nginx-1.19.3`,这是Nginx 1.19.3版本的源代码包。访问Nginx官方网站或镜像站点可以获取到最新版本,确保下载的是适合Windows的源码。 接下来,我们要下载HTTP-FLV模块。通常,这些...
本文将详述如何使用Tomcat、Nginx和Redis来搭建这样的集群,并着重讲解Session共享的问题,因为这是多服务器环境中的关键挑战。 **标题:Redis+nginx集群部署** **描述:**在本实践中,我们将结合Tomcat应用服务器...
Nginx-RTMP-Module 是由 Lavf57 开发的一个开源项目,其核心功能是添加对 RTMP 协议的支持,使得 Nginx 可以作为 RTMP 服务器接收来自编码器的音视频流,同时也可以将这些流推送到其他 RTMP 服务器或直接分发给...
在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所有的安装包,参考:https://blog.csdn.net/qq_33071429/article/details/102628008
资源说明: 1. 采用nginx最新版编译,包含最新的nginx-http-flv-module,以及基础...1. 将压缩包解压到D:\nginx-1.19.3目录下 2. 使用cmd命令打开DOS,并切换到D:\nginx-1.19.3 3. 使用nginxservice.exe install安装
4. **编译过程**: 在Windows上编译`nginx-http-flv-module`,首先需要安装编译环境,包括Visual Studio或MinGW等编译工具。然后下载Nginx源代码和`nginx-http-flv-module`源码,通过Nginx的configure脚本配置编译...
本文将详细介绍如何在Linux上搭建Nginx集群,以及如何进行详细配置,以实现负载均衡功能。 首先,我们需要理解负载均衡的基本概念。负载均衡是一种技术,通过分散网络流量到多个服务器,防止单点故障,提高服务的...
Nginx RTMP Module 提供了发布、播放、录制、重定向等操作,是搭建基于RTMP的流媒体服务器的关键组件。 **Native HLS Playback 插件** HLS(HTTP Live Streaming)是由Apple开发的一种流媒体协议,适用于HTTP传输...
1、最新版 nginx-http-flv-module(windows可执行程序,含nginx 1.19.3,http-flv-module:1.2.7) 2、内含说明文档,请下载查看。 3、请勿放置于中文路径下,否则无法启动