文档章节

nginx_Nchan调试

一万
 一万
发布于 2016/07/18 10:15
字数 397
阅读 410
收藏 1
点赞 0
评论 0

Nchan作为Nginx web服务器的一个模块,实现了发布/订阅服务器。我这里的调试通过HTTP POST请求发布消息,通过长轮训来订阅消息。(还有其他的发布、订阅的方式,比如websocket。)

1、  下载nginx源码http://nginx.org/并解压;

2、  下载Nchan源码https://nchan.slact.net并解压;

3、  进入nginx源码的根目录,运行./config –add-module=”Nchan源码的根目录”;

4、  运行 make 和 make install;

5、  编译成功的nginx一般在/usr/local/nginx文件夹;

6、  配置nginx和Nchan,编辑/usr/local/nginx/conf/nginx.conf文件:

http {
	server {
		listen       80;

		location = /sub {
			nchan_subscriber;
			nchan_channel_id foobar;
		}

		location = /pub {
			nchan_publisher;
			nchan_channel_id foobar;
		}
	}
}
  • 发布对应的url是/pub,主题是foobar,使用post方法进行发布;
  • l使用get方法访问/pub得到目前的主题或通道信息,包括有几个订阅者,共发布了几条消息等;
  • 订阅对应的url是/sub,主题是foobar,使用get方法进行订阅。

7、  配置参数化主题

http {
	server {
		listen       80;

		location = /sub {
			nchan_subscriber;
			nchan_channel_id $arg_id;
		}

		location = /pub {
			nchan_publisher;
			nchan_channel_id $arg_id;
		}
	}
}

订阅和发布的url现在分别为/sub?id=…、/pub?id=… 其中id作为订阅和发布的主题。

8、  长轮训的方式订阅的http get方法需要配置Last-Modified和If-None-Match头来控制接收的消息,如果没有添加这两个头则默认发送主题中的第一条消息,如果想接收最新的消息,则需要配置nchan_subscriber_first_message:

http {
	server {
		listen       80;

		location = /sub {
			nchan_subscriber;
			nchan_subscriber_first_message newest;
			nchan_channel_id $arg_id;
		}

		location = /pub {
			nchan_publisher;
			nchan_channel_id $arg_id;
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
一万
粉丝 28
博文 102
码字总数 173386
作品 0
朝阳
程序员
nginx_Nchan调试

Nchan作为Nginx web服务器的一个模块,实现了发布/订阅服务器。我这里的调试通过HTTP POST请求发布消息,通过长轮训来订阅消息。(还有其他的发布、订阅的方式,比如websocket。) 1、 下载n...

一万 ⋅ 2016/07/28 ⋅ 0

hi-nginx-1.0.4 发布,基于 Nginx 的通用服务器

hi-nginx-1.0.4 发布了,此次发布的v1.0.4不仅配备了较完整的文档 — https://github.com/webcpp/hi-nginx-doc,而且新增了一些常用第三方模块: array-var-nginx-module-0.05 form-input-n...

所以呢 ⋅ 2017/06/26 ⋅ 14

所以呢/hi-nginx

Introduction A distribution of Nginx with c++,python,lua java and php web development. hi-nginx-demo. hi-nginx-doc. Features All features of nginx(latest release) are inherited,......

所以呢 ⋅ 2017/12/25 ⋅ 0

Nginx 源码学习资料

转自http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从n...

小南学技术 ⋅ 2016/08/09 ⋅ 0

nginx源码学习资源(不断更新)

nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。 看了nginx源码,发现这是一份完全没有注...

王二狗子11 ⋅ 01/08 ⋅ 0

nginx模块_使用gdb调试nginx源码

工欲善其事必先利其器,如何使用调试工具gdb一步步调试nginx是了解nginx的重要手段。 ps:本文的目标人群是像我这样初接触Unix编程的同学,如果有什么地方错误请指正。 熟悉gdb的使用 这里就...

王二狗子11 ⋅ 01/08 ⋅ 0

c语言开源项目--nigix学习资料总结 by 博客园 叶剑峰

nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。 看了nginx源码,发现这是一份完全没有注...

文艺小青年 ⋅ 2017/04/08 ⋅ 0

eclipse调试nginx

目前只是简单的将框架搭建了起来,具体要一步一步的调试和多进程调试还要继续探索。 假设你已经有了nginx的源码 接下来要做的是./configure 配置的信息参考http://wiki.nginx.org/NginxChsI...

Orion ⋅ 2011/09/30 ⋅ 0

封装了 Nginx+php7-fpm 的 Dockerfile 仓库--docker-lnp

docker-lnp 是一个封装了 Nginx+php7-fpm 以及多数常用的 php 扩展的 Dockerfile 仓库,旨在快速构建基于 Docker 的 LNMP 环境! 特性: 1,自定义 Nginx, PHP-FPM, PHP 相关配置文件,完全定...

Koma ⋅ 2017/10/23 ⋅ 0

Koma/docker-lnp

docker-lnp 是一个封装了 Nginx+php7-fpm 以及多数常用的 php 扩展的 Dockerfile 仓库,旨在快速构建基于Docker的LNMP环境。 特性: 1,自定义 Nginx, PHP-FPM, PHP 相关配置文件,完全定制 ...

Koma ⋅ 2017/01/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

DevOps 资讯 | PostgreSQL 的时代到来了吗 ?

PostgreSQL是对象-关系型数据库,BSD 许可证。拼读为"post-gress-Q-L"。 作者: Tony Baer 原文: Has the time finally come for PostgreSQL?(有删节) 近30年来 PostgreSQL 无疑是您从未听...

RiboseYim ⋅ 7分钟前 ⋅ 0

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 45分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 47分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 58分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 今天 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 今天 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 今天 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部