• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Nginx使用ngx_zeromq模块返回502错误的解决方法,nginxngx_zeromq

Nginx使用ngx_zeromq模块返回502错误的解决方法,nginxngx_zeromq

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含nginx ngx lua waf,ngx lua模块,ngx,www.ngx.net.cn,y5ngx56ng35an0eng等服务器相关知识,网友希望可以进行参考

Nginx使用ngx_zeromq模块返回502错误的解决方法,nginxngx_zeromq


/*********************************************************************
 * Author  : Samson
 * Date    : 06/23/2015
 * Test platform:
 *              gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
 *              GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu) 
 * Nginx version:
 *              Nginx 1.6.2
 *              Nginx 1.8.0
 * *******************************************************************/

当使用了ngx_zeromq模块在nginx中,使用以下命令进行编译安装:

./configure --with-debug --add-module=./zeromq_module/ngx_zeromq/ --with-http_ssl_module


开启一个zero_mq的ZMQ_REP模式的服务端程序,那么在web中输入http://127.0.0.1/时,返回502页面,再查看默认编译安装目录/usr/local/nginx/logs/error.log日志中,可以看到以下的错误导致的:

2015/06/22 23:46:28 [alert] 43143#0: *1 connect() failed (88: Socket operation on non-socket) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://tcp://127.0.0.1:5555/", host: "127.0.0.1"


找到此行错误的代码所在文件为:

src/http/ngx_http_upstream.c中的ngx_http_upstream_test_connect函数中,原来是由于getsockopt造成的,那么如何解决这个问题呢?

经过自己写zeromq的REQ和REP模式的方法后,同样使用zeromq创建的连接的socketfd来使用getsockopt来进行使用,也会出现这样的错误,但是这并没有影响zeromq本身的通信,那也即是说nginx中的upstream模块中的getsockopt这个方法出错了对于zeromq来说无关紧要,那么将ngx_http_upstream_test_connect函数直接返回NGX_OK即可解决这个问题,再进行安装测试即可正常看到页面了。


REF:

ngx_zeromq模块:

https://github.com/FRiCKLE/ngx_zeromq

测试ngx_zeromq工程:

https://github.com/jamesmarlowe/ngx-zmq-sample

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Nginx使用ngx_zeromq模块返回502错误的解决方法,nginxngx_zeromq

相关文章

  • Strom实时计算--简述,strom实时--
  • RedHadoop创始人童小军在北京开讲“Hadoop2.0集群优化与管理”啦!,redhadoophadoop2.0
  • Hadoop学习笔记0001——Hadoop安装配置,hadoop学习笔记0001
  • MapReduce中Shuffle过程整理,mapreduceshuffle
  • 在Ubuntu下安装Mongdb,以及Mongdb基本操作命令,ubuntumongdb
  • hadoop文件损坏解决办法,
  • redis学习笔记之pipeline,redispipeline
  • Hadoop 1.x的Shuffle源码分析之2,hadoopshuffle
  • UcloudClient,icloud
  • MapReduce编程之倒排索引,mapreduce编程索引

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • window操作系统搭建Spark开发调试环境
    • 首届中国大数据技术沙龙会议邀请函,首届沙龙
    • 【甘道夫】Spark1.3.0 Submitting Applications 官方文档精华摘要,spark1.3
    • 云计算NA1
    • UCB CS162: Get sarted, create a docker container for UCB CS162 online course,ucbcs162
    • Greenplum+Hadoop学习笔记-14-定义数据库对象之创建与管理表空间,hadoop-14-
    • Map/Reduce原理
    • Bulk Load-HBase数据导入最佳实践,load-hbase最佳实践
    • Greenplum+Hadoop学习笔记-14-定义数据库对象之创建与管理模式,hadoop-14-
    • HDFS学习笔记(2)hdfs_shell & JavaAPI,hdfshdfs_shell

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有