<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jaunty@软件测试，音乐，还有不一样的生活 &#187; ttserver</title>
	<atom:link href="http://jaunty.me/blog/tag/ttserver/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaunty.me/blog</link>
	<description>软件测试，自动化测试，QTP，Loadrunner，Java，软件开发，性能测试，开源</description>
	<lastBuildDate>Mon, 25 Jul 2011 16:43:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>ttserver(tokyotyrant server)安装（附带遇到的问题解决）</title>
		<link>http://jaunty.me/blog/2010/06/ttserver_installation_and_troubleshooting/</link>
		<comments>http://jaunty.me/blog/2010/06/ttserver_installation_and_troubleshooting/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 13:13:09 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[unix系统]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ttserver]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=167</guid>
		<description><![CDATA[要配置测试环境需要一个代替memcache的server，于是乎配了ttserver（tokyotyrant）。不知道这是什么东东的童鞋去google一下。 以下安装全部基于FreeBSD 7.2系统。 1.安装ttserver &#60;1&#62;官网下载ttserver http://1978th.net/tokyotyrant/  &#60;2&#62;把下载下来的包用sftp拉到服务器上，放到/usr/local下 &#60;3&#62; tar -zxf tokyotyrant-版本号.tar.gz &#60;4&#62;cd 到解压的tokyotyrant目录下 &#60;5&#62; ./configure           这时候出错，提示 checking for tcutil.h&#8230; no configure: error: tcutil.h is required 发现没有装tokyoCarbinet. 2. 安装tokyoCarbinet &#60;1&#62;官网下载tokyoCarbinethttp://1978th.net/tokyocabinet/  &#60;2&#62;把下载下来的包用sftp拉到服务器上，放到/usr/local下 &#60;3&#62;tar -zxf tokyocarbinet-版本号.tar.gz &#60;4&#62;cd 到解压的tokyoCarbinet目录下 &#60;5&#62;./configure &#60;6&#62;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 [...]]]></description>
			<content:encoded><![CDATA[<p>要配置测试环境需要一个代替memcache的server，于是乎配了ttserver（tokyotyrant）。不知道这是什么东东的童鞋去google一下。</p>
<p>以下安装全部基于FreeBSD 7.2系统。</p>
<p>1.安装ttserver</p>
<p>&lt;1&gt;官网下载ttserver <a href="http://1978th.net/tokyotyrant/">http://1978th.net/tokyotyrant/</a> </p>
<p>&lt;2&gt;把下载下来的包用sftp拉到服务器上，放到/usr/local下</p>
<p>&lt;3&gt; tar -zxf tokyotyrant-版本号.tar.gz</p>
<p>&lt;4&gt;cd 到解压的tokyotyrant目录下</p>
<p>&lt;5&gt; ./configure<br />
          这时候出错，提示</p>
<p><span id="more-167"></span></p>
<table style="width: 225px; height: 40px;" border="0" cellspacing="0" cellpadding="0" width="225">
<colgroup span="1">
<col span="1" width="402"></col>
</colgroup>
<tbody>
<tr height="38">
<td width="402" height="38">checking for tcutil.h&#8230; no<br />
configure: error: tcutil.h is required</td>
</tr>
</tbody>
</table>
<p>发现没有装tokyoCarbinet.</p>
<p>2. 安装tokyoCarbinet</p>
<p>&lt;1&gt;官网下载tokyoCarbinet<a href="http://1978th.net/tokyocabinet/">http://1978th.net/tokyocabinet/</a> </p>
<p>&lt;2&gt;把下载下来的包用sftp拉到服务器上，放到/usr/local下</p>
<p>&lt;3&gt;tar -zxf tokyocarbinet-版本号.tar.gz</p>
<p>&lt;4&gt;cd 到解压的tokyoCarbinet目录下</p>
<p>&lt;5&gt;./configure</p>
<p>&lt;6&gt;make</p>
<p>这时候出错</p>
<table style="width: 622px; height: 157px;" border="0" cellspacing="0" cellpadding="0" width="622">
<colgroup span="1">
<col span="1" width="595"></col>
</colgroup>
<tbody>
<tr height="209">
<td width="595" height="209">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<br />
/usr/lib/crt1.o(.text+0x8a): In function `_start&#8217;:<br />
: undefined reference to `main&#8217;<br />
*** Error code 1Stop in /usr/local/tokyocabinet-1.4.45.</td>
</tr>
</tbody>
</table>
<p> </p>
<p>&lt;5&gt;  去网上找了下tc的makefile需要gmake来编译，因为我是bsd系统，所以去下了gmake然后装上后回头运行（安装gmake中也遇到很多问题，下篇文章再介绍）<br />
gmake</p>
<p>&lt;6&gt;make install （tc安装结束）</p>
<p>下面回到ttserver的安装</p>
<p>重新运行</p>
<table border="0" cellspacing="0" cellpadding="0" width="203">
<colgroup span="1">
<col span="1" width="203"></col>
</colgroup>
<tbody>
<tr height="57">
<td width="203" height="57">./configure<br />
make<br />
make install</td>
</tr>
</tbody>
</table>
<p>install完成后 ttserver安装结束。</p>
<p>3. 启动并测试ttserver</p>
<p>&lt;1&gt;启动ttserver<br />
        进入 ttserver的目录下运行</p>
<p>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</p>
<p>运行了上面启动server的命令后遇到错误</p>
<p>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<br />
mtree: line 6: unknown group wheel</p>
<p>经检查是因为我之前把自己的bsd里的wheel给删除了，运行pw groupadd wheel （加了一个wheel组）后回头重新运行上面启动server的命令就好了。</p>
<p>(ttserver的每个参数具体含义 运行 ttserver &#8211;h 查看)</p>
<p>ttserver -host -port -thnum -tout [-dmn] -pid -log [-ld|-le] -ulog -ulim [-uas] -sid -mhost -mport -rts [dbname]</p>
<pre>　　-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 : 指定用来存放同步时间戳的文件名。</pre>
<p>&lt;2&gt; 测试 ttserver是否可用</p>
<p>利用curl命令调用</p>
<p>写数据：</p>
<p> curl -X PUT <a href="http://127.0.0.1:11211/key">http://127.0.0.1:11211/key</a> -d “value”</p>
<p>读数据：</p>
<p>curl <a href="http://127.0.0.1:11211/key">http://127.0.0.1:11211/key</a><br />
（如果此时可以回显上一步写入的 value这个字符代表刚才的写入和现在的读取均成功）</p>
<p>删数据：</p>
<p>curl -X DELETE <a href="http://127.0.0.1:11211/key">http://127.0.0.1:11211/key</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2010/06/ttserver_installation_and_troubleshooting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

