HTTPSQS

参考:



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/
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 ../



示例:
ulimit -SHn 65535 
httpsqs -d -p 1218 -x /data0/queue
请使用命令“killall httpsqs”、“pkill httpsqs”和“kill `cat /tmp/httpsqs.pid`”来停止httpsqs。
注意:请不要使用命令“pkill -9 httpsqs”和“kill -9  httpsqs的进程ID”来结束httpsqs,否则,内存中尚未保存到磁盘的数据将会丢失。
-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 显示这个帮助
http://10.11.156.226:1218/?name=jmsqueue&opt=put&data=aba
http://10.11.156.226:1218/?charset=utf-8&name=jmsqueue&opt=get
http://10.11.156.226:1218/?name=jmsqueue&opt=status
http://10.11.156.226:1218/?name=jmsqueue&opt=status_json
http://10.11.156.226:1218/?charset=utf-8&name=jmsqueue&opt=view&pos=5
http://10.11.156.226:1218/?name=jmsqueue&opt=reset
http://10.11.156.226:1218/?name=jmsqueue&opt=maxqueue&num=100

<think>嗯,用户想了解如何部署HTTPSQS。首先我需要回忆一下HTTPSQS的基本信息。根据引用[4],HTTPSQS是一个基于HTTP协议的轻量级消息队列,使用Tokyo Cabinet进行持久化存储。用户可能已经知道这些,但需要具体的部署步骤。 首先,部署通常需要安装依赖环境。记得Tokyo Cabinet是必须的,所以需要安装libtokyocabinet-dev或者类似的包。然后,下载源码包,用户提供的引用[2]中有提到httpsqs-1.7.tar.gz,可能最新版本还是这个?或者有没有更新的版本需要确认?不过用户给的引用里都是这个版本,所以暂时用这个。 接着是编译安装的步骤,解压源码包,进入目录,执行make和install。这里可能需要确认编译环境是否安装了gcc和make工具,如果用户是在干净的服务器上部署,可能需要先安装这些构建工具。然后安装到指定目录,比如/usr/local/bin。 然后是配置部分,启动时可能需要指定端口、数据库路径等参数。根据引用[1]中的停止命令,pid文件在/tmp/httpsqs.pid,所以启动时可能需要指定-p参数。另外,数据库存储路径,比如/data/httpsqs,需要确保目录存在且有写入权限。 启动命令的话,使用-l指定监听地址,-p端口,-x数据库路径,-d以守护进程运行。用户可能需要调整这些参数以适应自己的环境。 验证部分,可以用curl发送HTTP请求测试,比如PUT和GET消息,确保服务正常运行。另外,检查进程是否存在,日志是否有错误。 还有开机自启动的问题,可能需要将启动命令添加到/etc/rc.local或者创建systemd服务文件。这部分需要根据用户的系统版本来调整,比如CentOS 6和7的启动方式不同。 注意事项方面,权限和防火墙设置很重要。用户可能遇到端口被阻挡的情况,所以需要提醒检查防火墙设置。还有数据备份,Tokyo Cabinet的数据库文件需要定期备份,避免数据丢失。 用户提供的引用中有停止服务的命令,比如killall和pkill,这些需要包含在教程中,方便用户管理服务。 可能用户的问题还涉及如何配置HTTPSQS与其他语言集成,比如PHP或Java,如引用[3]和[4]中的例子,但用户当前的问题主要是部署,所以相关集成可能需要另外说明,或者放在相关问题里。 最后,生成相关问题时,需要考虑用户接下来可能需要的步骤,比如性能调优、监控、多实例部署等,这些都可以作为相关问题提出。</think>### HTTPSQS 部署教程 HTTPSQS 是基于 HTTP GET/POST 协议的轻量级消息队列服务,依赖 Tokyo Cabinet 实现数据持久化存储[^4]。以下是详细部署步骤: --- #### 一、环境准备 1. **安装依赖包** 需提前安装编译工具和 Tokyo Cabinet 数据库: ```bash # Ubuntu/Debian apt-get install gcc make libtokyocabinet-dev # CentOS/RHEL yum install gcc make tokyocabinet-devel ``` 2. **下载源码包** 从官方获取最新版本(示例使用 1.7 版): ```bash wget https://github.com/downloads/lxyu/httpsqs/httpsqs-1.7.tar.gz tar zxvf httpsqs-1.7.tar.gz cd httpsqs-1.7 ``` --- #### 二、编译安装 1. **编译程序** ```bash make ``` 2. **安装到系统目录** ```bash cp httpsqs /usr/local/bin/ ``` --- #### 三、配置与启动 1. **创建数据存储目录** ```bash mkdir -p /data/httpsqs chmod 777 /data/httpsqs ``` 2. **启动服务** 指定监听端口(示例用 1218)和数据库路径: ```bash httpsqs -l 0.0.0.0 -p 1218 -x /data/httpsqs -d ``` - `-l`: 监听地址 - `-p`: 端口号 - `-x`: 数据库路径 - `-d`: 后台守护进程模式 3. **验证运行状态** ```bash ps aux | grep httpsqs curl "http://127.0.0.1:1218/?opt=status" ``` --- #### 四、基础操作示例 1. **写入消息** ```bash curl "http://127.0.0.1:1218/?name=test_queue&opt=put&data=HelloWorld" ``` 返回 `HTTPSQS_PUT_OK` 表示成功。 2. **读取消息** ```bash curl "http://127.0.0.1:1218/?name=test_queue&opt=get" ``` --- #### 五、停止服务 使用以下命令停止运行中的实例: ```bash killall httpsqs # 终止所有进程 [^1] pkill httpsqs # 通过进程名终止 kill `cat /tmp/httpsqs.pid` # 通过PID文件终止 ``` --- #### 六、配置开机自启(Systemd) 1. **创建服务文件** `/etc/systemd/system/httpsqs.service`: ```ini [Unit] Description=HTTPSQS Queue Service After=network.target [Service] ExecStart=/usr/local/bin/httpsqs -l 0.0.0.0 -p 1218 -x /data/httpsqs Restart=always [Install] WantedBy=multi-user.target ``` 2. **启用服务** ```bash systemctl daemon-reload systemctl start httpsqs systemctl enable httpsqs ``` --- #### 注意事项 1. **权限控制** 建议使用非 root 用户运行服务,并通过防火墙限制访问 IP。 2. **数据备份** 定期备份 `/data/httpsqs` 目录下的 `.tdb` 文件。 3. **日志监控** 默认日志输出到 syslog,可通过 `tail -f /var/log/syslog` 查看。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值