HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。
1.安装libevent-2.0.12-stable.tar.gz
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 ../
2.安装tokyocabinet-1.4.47.tar.gz
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/
make
make install
cd ../
当执行第二步骤的会出错,是由于缺少zlib和bzip2
安装zlib和bzip2 注意 是有顺序的:
1) zlib安装:
http://www.winimage.com/zLibDll/zlib-1.2.5.tar.gz安装开始;
wget http://www.winimage.com/zLibDll/zlib-1.2.5.tar.gz
tar -xvzf zlib-1.2.5.tar.gz
cd zlib-1.2.5.
./configure
【 make前,修改Makefile
CC=gcc -fPIC
CFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
#CFLAGS=-g -DDEBUG
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion
# -Wstrict-prototypes -Wmissing-prototypes
记得make前或者configure前,先进行make clean,或者将之前指定的目录prefix参数中的内容全部rm掉,比较彻底和暴力
】
make
sudo make instal
2) bzip2安装:
http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz安装开始;
wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar -xvzf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
【同上,修改Makefile,
# To assist in cross-compiling
CC=gcc -fPIC
AR=ar
RANLIB=ranlib
LDFLAGS=
BIGFILES=-D_FILE_OFFSET_BITS=64
CFLAGS=-Wall -Winline -O2 -fPIC -g $(BIGFILES)
】
make
make instal
3.安装httpsqs-1.7.tar.gz
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 ../
4.测试
如果安装成功 执行httpsqs –h 会出现
------------------------------------------------------------------------------------------------
--
HTTP Simple Queue Service - httpsqs v1.7 (April 14, 2011)
........................
5.设置
存储目录
#mkdir /usr/local/httpsqs_queue
mkdir /home/bf
vi /home/bf/httpsqs.sh
内容如下:
#! /bin/sh
ulimit -SHn 65535
启动方法
带密码
# /usr/bin/httpsqs -d -p 1218 -t 10 -c 10000 -m 512 -x /usr/local/httpsqs_queue -a pwd123
无密码
# /usr/bin/httpsqs -d -p 1218 -t 10 -c 10000 -m 512 -x /usr/local/httpsqs_queue
干掉的方法
# killall httpsqs
注意需要打开防火墙端口
vim /etc/sysconfig/iptables
添加下面一行,打开防火墙1218端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1218 -j ACCEPT
重启防火墙
#/etc/init.d/iptables restart
6.使用
写队列
http://192.168.2.103:1218/?name=your_queue_name&opt=put&data=TEXT&auth=pwd123
读队列
http://192.168.2.103:1218/?charset=utf-8&name=your_queue_name&opt=get&auth=pwd123
写队列无密码
http://192.168.2.103:1218/?name=your_queue_name&opt=put&data=TEXT
读队列无密码
http://192.168.2.103:1218/?charset=utf-8&name=your_queue_name&opt=get