一,安装

ulimit -SHn 65535

wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz
tar zxvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable/
./configure --prefix=/usr/local/libevent-2.0.12-stable/
make
make install
cd ../ wget http://httpsqs.googlecode.com/files/tokyocabinet-1.4.47.tar.gz
tar zxvf tokyocabinet-1.4.47.tar.gz
cd tokyocabinet-1.4.47/
./configure --prefix=/usr/local/tokyocabinet-1.4.47/
#注:在32位Linux操作系统上编译Tokyo cabinet,请使用./configure --enable-off64代替./configure,可以使数据库文件突破2GB的限制。
#./configure --enable-off64 --prefix=/usr/local/tokyocabinet-1.4.47/
#在编译 tokyocabinet 时会报 configure: error: bzlib.h is required 的错误。
#解决方法是: yum install bzip2-devel
make
make install
cd ../ wget http://httpsqs.googlecode.com/files/httpsqs-1.7.tar.gz
tar zxvf httpsqs-1.7.tar.gz
cd httpsqs-1.7/
make
make install
cd ../

二、常用命令

 httpsqs -h
-l <ip_addr> 监听的IP地址,默认值为 0.0.0.0
-p <num> 监听的TCP端口(默认值:1218)
-x <path> 数据库目录,目录不存在会自动创建(例如:/opt/httpsqs/data)
-t <second> HTTP请求的超时时间(默认值:3)
-s <second> 同步内存缓冲区内容到磁盘的间隔秒数(默认值:5)
-c <num> 内存中缓存的最大非叶子节点数(默认值:1024)
-m <size> 数据库内存缓存大小,单位:MB(默认值:100)
-i <file> 保存进程PID到文件中(默认值:/tmp/httpsqs.pid)
-a <auth> 访问HTTPSQS的验证密码(例如:mypass123)
-d 以守护进程运行
-h 显示这个帮助

三、创建队列

为了访问安全 所以使用密码进行验证

#mkdir /data
# httpsqs -d -p 1218 -x /data/zabbix -a zabbix 请使用命令“killall httpsqs”、“pkill httpsqs”和“kill `cat /tmp/httpsqs.pid`”来停止httpsqs。

   注意:请不要使用命令“pkill -9 httpsqs”和“kill -9 httpsqs的进程ID”来结束httpsqs,否则,内存中尚未保存到磁盘的数据将会丢失。

[root@fms_server ~]# netstat -tnlp | grep 1218
tcp 0 0 0.0.0.0:1218 0.0.0.0:* LISTEN 11423/zabbix -a zab

四、入队列

GET协议

#curl "http://115.182.209.189:1218/?name=zabbix&opt=put&data=zabbix监控&auth=zabbix"
#返回结果,如果是ok 证明入队列成功
HTTPSQS_PUT_OK

POST协议

# curl -d "zabbix监控" "http://115.182.209.189:1218/?name=zabbix&opt=put&auth=zabbix"
#返回结果,如果是ok 证明入队列成功
HTTPSQS_PUT_OK 如果入队列失败,返回:
HTTPSQS_PUT_ERROR 如果队列已满,返回:
HTTPSQS_PUT_END

五、出队列(从队列中取出)

GET方式取出UTF-8格式

# curl "http://115.182.209.189:1218/?charset=utf-8&name=zabbix&opt=get&auth=zabbix"
#取出内容如下
zabbix监控 GET方式取出GB2312格式 curl "http://115.182.209.189:1218/?charset=gb2312&name=zabbix&opt=get&auth=zabbix"
#取出内容如下
zabbix监控 如果队列里没有内容 则返回 # curl "http://115.182.209.189:1218/?charset=utf-8&name=zabbix&opt=get&auth=zabbix"
#返回如下
HTTPSQS_GET_END

六、查看队列状态

# curl "http://115.182.209.189:1218/?name=zabbix&opt=status&auth=zabbix"
HTTP Simple Queue Service v1.7
------------------------------
Queue Name: zabbix
Maximum number of queues: 1000000
Put position of queue (1st lap): 2
Get position of queue (1st lap): 2
Number of unread queue: json格式
# curl "http://115.182.209.189:1218/?name=zabbix&opt=status_json&auth=zabbix"
{"name":"zabbix","maxqueue":1000000,"putpos":2,"putlap":1,"getpos":2,"getlap":1,"unread":0}

更多内容:http://blog.zyan.cc/httpsqs/

最新文章

  1. MSIL Hello World
  2. HDU2089 不要62[数位DP]
  3. [Android Pro] Android 4.1 使用 Accessibility实现免Root自动批量安装功能
  4. C语言位运算符及作用:与、或、异或、取反、左移和右移
  5. 1046 Shortest Distance (20)
  6. Nginx 禁止访问某个目录或文件的设置方法
  7. [jobdu]树的子结构
  8. Maven初识
  9. android获取屏幕宽高与获取控件宽高
  10. 【学习笔记01】:hover为DIV添加鼠标悬停时改变颜色的效果
  11. Nmap功能与常用命令
  12. System.ComponentModel.DataAnnotations 冲突
  13. AsyncTask学习
  14. RobotFramework下的http接口自动化Follow Response关键字的使用
  15. Python内置函数之classmetho staticmethod
  16. Django的路由层
  17. What’s New In GRANDstack?
  18. [20180718]拷贝数据文件从dg库.txt
  19. 2.mongodb可视化工具
  20. JavaScript事件模型

热门文章

  1. php get_class()函数
  2. Vue系列:在vux的popup组件中使用百度地图遇到显示不全的问题
  3. linq distinct 不够用了!
  4. 记一次排错,windows日志 模块 DLL C:\Windows\system32\inetsrv\aspnetcore.dll 未能加载。返回的数据为错误信息。
  5. C#进阶系列——DDD领域驱动设计初探(六):领域服务
  6. Python学习之day3
  7. 由Memcached升级到 Couchbase的 Java 客户端的过程记录(三)
  8. 非常提高mac生产力的一些插件归纳整理
  9. CSS-学习笔记二
  10. 10月30日上午MySQL数据库的修改(从网页上实现对数据库的更改)