memcachd 在win32 系统下开多个服务端口的问题

要想在windows中使用memcached,必须先下载memcached for win32安装。
下载地址:http://code.google.com/p/memcached/downloads/list
解压后只要在命令窗口中输入下面命令c:\memcached\memcached.exe -d install  就可以把memcached安装为windows服务了。
启动该服务后,memcached服务默认占用的端口是11211 ,占用的最大内存默认是64M。
在修改这2个配置选项就碰到了一些问题,网上搜索了很多资料,都说使用下面的命令启动服务就可以:
c:\memcached\memcached.exe -p 11212 -m 32 -d start,-p 表示要修改的端口,-m表示占用的最大内存(单位为M)。

但是无论怎么调用这个命令,发现端口一直还是11211。
打开windows服务控制面板一看,发现memcached.exe 默认安装的服务器启动参数中根本没写-p -m的参数,只有1个 -d runservice 参数。
所以不管用什么命令启动服务都是没用的.于是就想到直接修改windows服务的启动参数,操作如下,打开注册表,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
其中的ImagePath项的值为:"c:\memcached\memcached.exe" -d runservice
改成:"c:\memcached\memcached.exe" -p 11212 -m 32 -d runservice

保存后重新启动memcached服务,然后在命令行中输入netstat -n -a  看看现在端口是不是改啦,^_^。

memcached.exe 的-d install命令安装时其他参数貌似无法作用,-p和 -m加上后,安装完成windows服务的binpath里面只有-runservice一个参数。这个可以通过注册表改掉,但还是无法同时安装多个服 务。解决这个问题可以用sc服务命令
比如安装两个个端口11212、11213,32M内存上限的缓存服务
通过cmd命令创建以下两个缓存服务:
-----------------------------端口11212--------------------------------
sc create Memcachedserver11212 binpath= "C:\memcached\memcached.exe -d runservice -m 32 -p 11212" start= auto displayname= "Memcached server (11212)"
sc description Memcachedserver11212 "缓存服务:端口11212。"

----------------------------端口11213----------------------------------
sc create Memcachedserver11213 binpath= "C:\memcached\memcached.exe -d runservice -m 32 -p 11213" start= auto displayname= "Memcached server (11213)"
sc description Memcachedserver11213 "缓存服务:端口11213。"

 

//删除服务
sc delete Memcachedserver11212

sc delete Memcachedserver11213

----------------------------sc命令注意-----------------------------------

在设置binPath=或者其他的类似的option的时候,"="号后面必须要加一个空格

posted on 2012-06-11 10:18  kudosharry  阅读(176)  评论(0编辑  收藏  举报

导航