文档章节

nginx_Nchan调试

一万
 一万
发布于 2016/07/28 11:11
字数 378
阅读 124
收藏 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方法进行发布;
  • 使用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;

               }

        }

}

 

© 著作权归作者所有

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

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

一万
2016/07/18
409
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
2.3K
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
0
nginx源码学习资源(不断更新)

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

王二狗子11
2018/01/08
0
0
Nginx 源码学习资料

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

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

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地j...

独钓渔
今天
2
0
五、MyBatis缓存

一、MyBatis缓存介绍 缓存的使用可以明显的加快访问数据速度,提升程序处理性能,生活和工作中,使用缓存的地方很多。在开发过程中,从前端-->后端-->数据库等都涉及到缓存。MyBatis作为数据...

yangjianzhou
今天
2
0
最近研究如何加速UI界面开发,有点感觉了

最近在开发JFinal学院的JBolt开发平台,后端没啥说的,做各种极简使用的封装,开发者上手直接使用。 JBolt开发平台包含常用的用户、角色、权限、字典、全局配置、缓存、增删改查完整模块、电...

山东-小木
今天
3
0
《月亮与六便士》的读后感作文3000字

《月亮与六便士》的读后感作文3000字: 看完英国作家威廉.萨默塞特.毛姆所著《月亮与六便士》(李继宏译),第一疑问就是全书即没提到“月亮”,也没提到“六便士”。那这书名又与内容有什么...

原创小博客
昨天
2
0
微信网页授权获取用户信息(ThinkPHP5)+ 微信发送客服消息(一)

以thinkphp5为实例,创建控制器 class Kf extends Controller { /** * [protected description]微信公众号appid * @var [type] */ protected $appid = "xxxxxxxxxxxxxxx"; /** * [protected......

半缘修道半缘君丶
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部