六 10
24
ttserver(tokyotyrant server)安装(附带遇到的问题解决)
要配置测试环境需要一个代替memcache的server,于是乎配了ttserver(tokyotyrant)。不知道这是什么东东的童鞋去google一下。
以下安装全部基于FreeBSD 7.2系统。
1.安装ttserver
<1>官网下载ttserver http://1978th.net/tokyotyrant/
<2>把下载下来的包用sftp拉到服务器上,放到/usr/local下
<3> tar -zxf tokyotyrant-版本号.tar.gz
<4>cd 到解压的tokyotyrant目录下
<5> ./configure
这时候出错,提示
| checking for tcutil.h… no configure: error: tcutil.h is required |
发现没有装tokyoCarbinet.
2. 安装tokyoCarbinet
<1>官网下载tokyoCarbinethttp://1978th.net/tokyocabinet/
<2>把下载下来的包用sftp拉到服务器上,放到/usr/local下
<3>tar -zxf tokyocarbinet-版本号.tar.gz
<4>cd 到解压的tokyoCarbinet目录下
<5>./configure
<6>make
这时候出错
| LD_RUN_PATH=/lib:/usr/lib:/usr/local/lib:/root/lib:/usr/local/lib:/usr/local/lib:. gcc -g -O2 -std=c99 -Wall -fPIC -fsigned-char -O2 -o tcutest -L. -L/usr/local/lib -L/root/lib -L/usr/local/lib -ltokyocabinet -lbz2 -lz -lrt -lpthread -lm -lc /usr/lib/crt1.o(.text+0x8a): In function `_start’: : undefined reference to `main’ *** Error code 1Stop in /usr/local/tokyocabinet-1.4.45. |
<5> 去网上找了下tc的makefile需要gmake来编译,因为我是bsd系统,所以去下了gmake然后装上后回头运行(安装gmake中也遇到很多问题,下篇文章再介绍)
gmake
<6>make install (tc安装结束)
下面回到ttserver的安装
重新运行
| ./configure make make install |
install完成后 ttserver安装结束。
3. 启动并测试ttserver
<1>启动ttserver
进入 ttserver的目录下运行
ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
运行了上面启动server的命令后遇到错误
ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
mtree: line 6: unknown group wheel
经检查是因为我之前把自己的bsd里的wheel给删除了,运行pw groupadd wheel (加了一个wheel组)后回头重新运行上面启动server的命令就好了。
(ttserver的每个参数具体含义 运行 ttserver –h 查看)
ttserver -host -port -thnum -tout [-dmn] -pid -log [-ld|-le] -ulog -ulim [-uas] -sid -mhost -mport -rts [dbname]
-host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。 -port num : 指定需要绑定的端口号。默认端口号为1978 -thnum num : 指定线程数。默认为8个线程。 -tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。 -dmn : 以守护进程方式运行。 -pid path : 输出进程ID到指定文件(这里指定文件名)。 -log path : 输出日志信息到指定文件(这里指定文件名)。 -ld : 在日志文件中还记录DEBUG调试信息。 -le : 在日志文件中仅记录错误信息。 -ulog path : 指定同步日志文件存放路径(这里指定目录名)。 -ulim num : 指定每个同步日志文件的大小(例如128m)。 -uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill掉,将导致部分数据丢失。一般情况下不建议使用)。 -sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号) -mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。 -mport num : 指定主辅同步模式下,主服务器的端口号。 -rts path : 指定用来存放同步时间戳的文件名。
<2> 测试 ttserver是否可用
利用curl命令调用
写数据:
curl -X PUT http://127.0.0.1:11211/key -d “value”
读数据:
curl http://127.0.0.1:11211/key
(如果此时可以回显上一步写入的 value这个字符代表刚才的写入和现在的读取均成功)
删数据:
curl -X DELETE http://127.0.0.1:11211/key


