如何使用NGINX 1.6.2对wso2 1.9.0进行负载均衡

时间:2016-05-23 22:58:43

标签: nginx wso2 wso2carbon wso2-am

我尝试使用前端NGINX 1.6.2负载均衡器对API Manager 1.9.0进行负载均衡。我有2台服务器:

服务器A(xxx.xxx.xxx.xx1和xxx.xxx.xxx.x11) - 公共和私有IP 服务器B(xxx.xxx.xxx.xx2和xxx.xxx.xxx.x22) - 公共和私有IP

API Manager 1.9.0和所有四个组件都在服务器B上安装并启动。

我在服务器A上停止了NGINX,它也安装了API Manager 1.9.0并且只在工作模式下运行。 NGINX软件安装在/ opt / rh / nginx16 / root / etc / nginx中。我将以下配置文件添加到/opt/rh/nginx16/root/etc/nginx/conf.d并成功启动了该服务:

(am.http.conf)

上游xxx.xxx.xxx.x11

    server xxx.xxx.xxx.x11:9763

    server xxx.xxx.xxx.x22:9763

服务器

    listen 80

    server_name xxx.xxx.xxx.x11

    location / 
           proxy_set_header X-Forwarded-Host $host
           proxy_set_header X-Forwarded-Server $host
           proxy_set_header X-Forwarded-For 

$ proxy_add_x_forwarded_for                proxy_set_header主机$ http_host                proxy_read_timeout 5m                proxy_send_timeout 5m                proxy_pass http://xxx.xxx.xxx.x11

(am.https.conf)

上游xxx.xxx.xxx.1

server xxx.xxx.xxx.xx1:9443
server xxx.xxx.xxx.xx2:9443

服务器

听443

server_name xxx.xxx.xxx.xx1

ssl on



ssl_certificate /opt/rh/nginx16/root/etc/nginx/ssl/wrk.crt
ssl_certificate_key /opt/rh/nginx16/root/etc/nginx/ssl/wrk.key
location / 
           proxy_set_header X-Forwarded-Host $host
           proxy_set_header X-Forwarded-Server $host
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
           proxy_set_header Host $http_host
           proxy_read_timeout 5m
           proxy_send_timeout 5m
    proxy_pass https://xxx.xxx.xxx.xx1

(mgt.am.https.conf)

服务器     听443     server_name xxx.xxx.xxx.xx2     ssl     ssl_certificate /opt/rh/nginx16/root/etc/nginx/ssl/mgt.crt     ssl_certificate_key /opt/rh/nginx16/root/etc/nginx/ssl/mgt.key

location /carbon 
           proxy_set_header X-Forwarded-Host $host
           proxy_set_header X-Forwarded-Server $host
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
           proxy_set_header Host $http_host
           proxy_read_timeout 5m
           proxy_send_timeout 5m
    proxy_pass https://xxx.xxx.xxx.xx2:9443/

error_log  /var/log/nginx/mgt-error.log 
       access_log  /var/log/nginx/mgt-access.log

我根据此文档对axis2.xml,carbon.xml,catalina.server.xml进行了文档化的更改:https://docs.wso2.com/display/CLUSTER420/Clustering+the+Gateway

我试图用有限的资源创建原型。

  1. 上游服务器的IP地址可以吗?
  2. 如何测试上述配置?
  3. 如何访问index.html页面以验证NGINX是否已正确安装?
  4. 如何确保API工作人员同步并与同一个数据库通信?
  5. 非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

  1. 上游用于定义可由指令引用的服务器组,例如proxy_pass。您可以使用任何内容,但最好使用一些用户友好的命名格式。

  2. 完成API Manager群集后,发送请求并验证是否已提供服务。

  3. 在浏览器上访问NGINX服务器的IP地址,查看index.html页面是否已加载

  4. 在此,假设API Worker表示APIM Gateway工作者: 您必须在所有组件中正确定义数据源并安装它们。然后关闭一个工作人员,看到该请求由其他工作人员提供服务。 请参阅https://docs.wso2.com/display/CLUSTER44x/Clustering+API+Manager+1.10.0