`

开源OA办公平台搭建教程:基于nginx的快速集群部署——端口分发

阅读更多

主机信息

主机1:172.16.98.8(linux)

主机2:172.16.98.9(linux)

集群需求

172.16.98.8WEB服务器,应用服务器,文件存储服务器,中心服务器

172.16.98.9WEB服务器,应用服务器,文件存储服务器,中心服务器

数据库

mysql数据库

nginx访问域名及端口

域名:qmx.o2oa.net(可以用ip,如果域名没有解析需要配置hosts)

端口:80(o2web服务器)、82(o2应用服务器,可以为其他没有冲突的端口)、83(o2中心服务器可以为其他没有冲突的端口

分发规则:

nginx端口

o2端口服务

80 8080(o2web服务器)
82 20020(o2应用服务器
83 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

 

二、准备配置文件

 

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": 83.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": 82.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": "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": 83.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": 82.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.jsono2server/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、进入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 {

       ip_hash;

       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;

       location / {

           root   html;

           index  index.html;

           proxy_pass http://webServer;

           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;

       }

   }

   server {

       listen       82;

       server_name  localhost;

       location / {

           proxy_pass http://appServer;

           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;

       }

   }

   server {

       listen       83;

       server_name  localhost;

       location / {

           proxy_pass http://centerServer;

           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;

       }

   }

}

 

 

五、测试验证

1、浏览器访问地址:http://qmx.o2oa.net/  使用 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 ,刷新页面正常访问;

0
0
分享到:
评论

相关推荐

    Redis+nginx集群部署

    本文将详述如何使用Tomcat、Nginx和Redis来搭建这样的集群,并着重讲解Session共享的问题,因为这是多服务器环境中的关键挑战。 **标题:Redis+nginx集群部署** **描述:**在本实践中,我们将结合Tomcat应用服务器...

    18进阶 5:基于 Nginx 的 API 部署方案(2).md

    以上内容详细介绍了基于Nginx的API部署方案的核心知识点,涵盖了Nginx的介绍、安装、启动、常用命令、反向代理和负载均衡配置等关键方面。掌握这些知识对于理解和实践Nginx作为Web服务器和反向代理服务器的角色至关...

    Linux搭建Nginx集群步骤+详细配置

    在CentOS 7上,我们通常使用`yum`来安装Nginx: ```bash sudo yum install epel-release -y sudo yum install nginx -y ``` ### 2. 配置Nginx主服务器 在`/etc/nginx/nginx.conf`中,我们需要配置Nginx的主配置文件...

    k8s下部署nginx集群部署方式(相关yaml文件的编写和说明)

    在Kubernetes(k8s)环境下,部署Nginx集群是一项常见的任务,它涉及到容器编排、服务发现、负载均衡等多个重要概念。本篇将详细阐述如何使用YAML文件进行Nginx集群的配置和部署。 首先,让我们了解YAML文件在k8s中...

    泛微EC搭建Nginx集群、代理

    【标题】"泛微EC搭建Nginx集群、代理"涉及的是在企业级协同办公系统泛微EC(EcoWork)环境中,通过Nginx构建高可用性和负载均衡的网络架构。Nginx是一个高性能的HTTP和反向代理服务器,常用于处理静态内容和作为反向...

    C++基于控制台的集群聊天服务器.zip

    C++基于控制台的集群聊天服务器:配置nginx负载均衡模块分发客户端连接、基于发布-订阅的redis作为服务器消息队列,mysql数据库存储用户数据 C++基于控制台的集群聊天服务器:配置nginx负载均衡模块分发客户端连接、...

    泛微ecology nginx+resin集群部署手册

    泛微 ecology nginx+resin集群部署说明文档,详细讲解ecology 集群部署的实施方式方法及步骤。

    Nginx Tomcat集群部署说明

    【Nginx Tomcat集群部署】是Web服务领域常见的高可用性和负载均衡解决方案,通过结合Nginx的反向代理和负载均衡功能与Tomcat的Java应用服务器能力,可以构建出稳定且高效的Web应用程序环境。以下是对这个主题的详细...

    doubi.zip_nginx 分发_nginx端口分发

    【标题】"doubi.zip_nginx 分发_nginx端口分发" 涉及的核心知识点是使用Nginx进行web服务器的负载均衡和端口分发配置。Nginx是一款高性能、轻量级的HTTP和反向代理服务器,因其高效稳定的特点在Web服务领域广泛应用...

    泛微协同办公nginx部署手册

    ### 泛微协同办公nginx部署手册 #### 一、服务器背景环境及准备工作 在开始部署泛微协同办公系统之前,我们需要准备以下环境: - **负载均衡服务器**:192.168.52.9 - **应用服务器1**:192.168.52.11 (端口8080)...

    使用Docker搭建基于Nginx+Tomcat的分布式部署架构

    示例:使用Docker搭建基于Nginx+Tomcat的分布式部署架构。

    mac无坑安装nginx(csdn)————程序.pdf

    Homebrew是Mac OS系统下的一个开源包管理器,它允许用户轻松地安装、管理和更新各种开源软件,包括Nginx。以下是详细的步骤: 1. **安装Homebrew**: 在开始安装Nginx之前,首先确保已经安装了Homebrew。打开终端...

    开源电子书:Nginx 开发手册文档.pdf

    2. 配置 Nginx:可以使用配置文件来配置 Nginx,包括设置服务器根目录、端口号、虚拟主机、负载均衡等。 3. PHP-FPM 安装配置:可以使用 PHP-FPM 作为 FastCGI server,提供 PHP支持。 Nginx 的一些常见问题和解决...

    Nginx和Tomcat集群环境部署

    在部署集群之前,需要明确安装规划,以便合理分配资源和确保系统的高效运行。 - **目标**:为软件项目部署到多台服务器搭建集群环境。 - **环境配置**: - **代理服务器**:用于部署Nginx,负责反向代理和负载均衡...

    普通用户启动nginx,使用80端口

    00:00:00 nginx: master process /usr/local/openresty/nginx/sbin/nginx nginx 12346 12345 0 10:30 ? 00:00:00 nginx: worker process ``` 其中,“/usr/local/openresty/nginx/sbin/nginx”是Nginx可执行文件的...

    Nginx+keepalived+tomcat集群搭建过程.doc

    【Nginx+Keepalived+Tomcat集群搭建】是一个实现服务器高可用和负载均衡的常见方案,旨在解决单点故障问题,防止服务因一台服务器宕机而导致整个系统的崩溃,即所谓的雪崩效应。 首先,我们需要四台服务器,两台...

    nginx集群部署

    nginx集群部署,测试通过配合war包或者springboot发布的jar包均可以

    Nginx+Tomact集群部署

    ### Nginx+Tomcat集群部署详解 #### 一、Nginx与Tomcat简介 在深入了解Nginx+Tomcat集群部署之前,我们先简要回顾一下这两款软件的基本功能。 - **Nginx**:是一款高性能的HTTP服务器及反向代理服务器,同时也是...

    nginx+tomcat集群部署与负载均衡

    ### Nginx+Tomcat集群部署与负载均衡 #### 版本信息与集群及负载均衡概念 在深入了解如何实现Nginx与Tomcat集群的部署和负载均衡之前,我们需要先了解一些基本的概念以及版本信息。 - **集群**:通常指一组计算机...

Global site tag (gtag.js) - Google Analytics